Hello,
I'm trying Spell Catcher X, and I notice that it does not work so
well with Textmate when using "Auto-Show Suggestions" with a popup
list: the popup list is shown when there is a mistake, but no more
input is processed until I click on the window.
Is this a known bug of Textmate or Spell Catcher X? As both programs
look really nice, I'd be glad to have both work together.
Thanks,
Alan
--
Alan Schmitt <http://sardes.inrialpes.fr/~aschmitt/>
The hacker: someone who figured things out and made something cool
happen.
.O.
..O
OOO
Arrrg! Trying to understand the format of bundle definitions.
Trouble number one: I'm trying to change the type of comments used for
plain text types. I've added the following to the patterns array of the
"Plain Text" language definition:
{ name = 'comment.line.right-angle-bracket.text';
match = '>.*$';
}
And nothing happens. I then tried creating a new bundle for a new type
of document ("Test Doc") and setting the patterns array to only the
above. Nothing.
What am I doing wrong?
Thanks if you can help!
Quinn
hello:)
Allan,since Texlive 2005 or Tetex 3 this code
I announce you that since Tex one should not any more
use this code (used in the Latex templates)
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse % we are not running PDFLaTeX
\else
\pdfoutput=1 % we are running PDFLaTeX
\pdftrue
\fi
must be replaced by \usepackage{ifpdf}
% Use: LaTeX: \usepackage{ifpdf}
% plain: \input ifpdf.sty
% The package provides the switch \ifpdf:
% \ifpdf
% ... do things, if pdfTeX is running in pdf mode ...
% \else
% ... other TeX or pdfTeX in dvi mode ...
% \fi
% The package can also be used to set global
% documentclass options:
% \RequirePackage{ifpdf}
% \ifpdf
% \documentclass[pdftex,...]{...}
% \else
% \documentclass[...]{...}
% \fi
note in texlive 2005 :
Last year, we kept \pdfoutput and other primitives undefined for DVI
output, even though
the pdfetex program was being used. This year, as promised, we undid
that compatibility
measure. So if your document uses \ifx\pdfoutput\undefined to test if
PDF is being
output, it will need to be changed. You can use the package ifpdf.sty
(which works under
both plain TEX and LATEX) to do this, or steal its logic.
Greetings
Alain
Hello all, hope to pick yer brains...
I notice that you can define multiple files for a template, but I can't
figure out how to create multiple files when running the template. Why
else would TM use multiple files in a template? But then again, there
seems to be only one $TM_NEW_FILE variable per template.
I'm trying to setup a template for a particular case when I will always
need several files at once. For now I'll just define one template for
each file I will need generated.
A quick side question, how can I populate env variables at runtime? If
my template has ${WHAT_DID_I_HAVE_FOR_LUNCH_TODAY} and I want to run a
template every day... is it possible to popup a dialog with fields to
fill-in or something?
Thanks!
Quinn
Strange Find and Replace Bug - r906
Summary:
Doing a selection based find and replace consistently inserts many lines
of code when it should be only replace one word with another single word.
Reproducing The Bug:
* Open the attached (.rb) file
* Switch to Ruby on Rails editor mode
* Do a full line selection on line #39
* Hit cmd+f to go into the finder window
* Replace the word ":now" with "now" while using the shift button to do
a selection only replace
Results:
* Replaces the entire line #39 with only the word "now"
* Performs a selection from line #39 down to #110
* Duplicates a bunch of code under line #110 (copies and pastes the new
selection)
Details:
* Ignore and wrap are checked. Reg exp. is unchecked.
* Restarting Textmate doesn't seem to fix the issue.
* Soyru in IRC helped me confirm the bug, so it is not specific to my
situation.
Environment:
* I don't use manager hacksies.
* I haven't edited the default bundle editor commands.
* I do use quicksilver, starting it is ctrl+alt+cmd+space; Everything
else is at defaults
class TimerController < ApplicationController
#
def index
unless @user.master_timer_is_stopped?
# initialize current task timer
# initialize task list
@upcoming_tasks = @user.upcoming_tasks
@recent_tasks = @user.recent_tasks
@favorite_tasks = @user.favorite_tasks
end
end
# Start a master timer
def start_clock
@user.start_master_timer
redirect_to :action => 'index'
end
# Pause a running master timer
def pause_clock
@user.pause_master_timer
redirect_to :action => 'index'
end
# Stop a running or paused master timer
def stop_clock
@user.stop_master_timer
redirect_to :action => 'index'
end
# Start a task
def start_task
# capture the time now so all timers match up
:now = Time.now
# find currently selected task
:selected_task = @user.selected_task
# if a selected task exists
if :selected_task
# if the recently started task is already the selected task
if :selected_task.id == params[:id]
if :selected_task.status == 2
# notice - can't start a timer that is already running
elsif :selected_task.status == 1
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = :selected_task.id
# change status of the this task
:selected_task.status = 2
:selected_task.save
else
# error - stopped tasks can't be selected
end
# if the recently started task is not already the selected task
else
# stop the task timer if it's still running
if :selected_task.status == 2
:task_timer = TaskTimer.find(:first,
:condition => "ended_at is null and " +
"user_id = #{(a)user.id} and " +
"task_id = #{:selected_task.id}")
:task_timer.ended_at = :now
:task_timer.save
end
#change status of selected task to stopped
:selected_task.status = 0
:selected_task.save
# find the newly started task
:selected_task = Task.find(params[:id])
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = params[:id]
# change status of the this task
:selected_task.status = 2
:selected_task.save
end
# if no selected task exists
else
# find the newly selected task
:selected_task = Task.find(params[:id])
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = params[:id]
# change status of the this task
:selected_task.status = 2
:selected_task.save
end
redirect_to :action => 'index'
end
private
before_filter :find_user
#
#
def find_user
@user = session[:user]
end
end
class TimerController < ApplicationController
#
def index
unless @user.master_timer_is_stopped?
# initialize current task timer
# initialize task list
@upcoming_tasks = @user.upcoming_tasks
@recent_tasks = @user.recent_tasks
@favorite_tasks = @user.favorite_tasks
end
end
# Start a master timer
def start_clock
@user.start_master_timer
redirect_to :action => 'index'
end
# Pause a running master timer
def pause_clock
@user.pause_master_timer
redirect_to :action => 'index'
end
# Stop a running or paused master timer
def stop_clock
@user.stop_master_timer
redirect_to :action => 'index'
end
# Start a task
def start_task
# capture the time now so all timers match up
now
# capture the time now so all timers match up
:now = Time.now
# find currently selected task
:selected_task = @user.selected_task
# if a selected task exists
if :selected_task
# if the recently started task is already the selected task
if :selected_task.id == params[:id]
if :selected_task.status == 2
# notice - can't start a timer that is already running
elsif :selected_task.status == 1
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = :selected_task.id
# change status of the this task
:selected_task.status = 2
:selected_task.save
else
# error - stopped tasks can't be selected
end
# if the recently started task is not already the selected task
else
# stop the task timer if it's still running
if :selected_task.status == 2
:task_timer = TaskTimer.find(:first,
:condition => "ended_at is null and " +
"user_id = #{(a)user.id} and " +
"task_id = #{:selected_task.id}")
:task_timer.ended_at = :now
:task_timer.save
end
#change status of selected task to stopped
:selected_task.status = 0
:selected_task.save
# find the newly started task
:selected_task = Task.find(params[:id])
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = params[:id]
# change status of the this task
:selected_task.status = 2
:selected_task.save
end
# if no selected task exists
else
# find the newly selected task
:selected_task = Task.find(params[:id])
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = params[:id]
# change status of the this task
:selected_task.status = 2
:selected_task.save
end
= Time.now
# find currently selected task
:selected_task = @user.selected_task
# if a selected task exists
if :selected_task
# if the recently started task is already the selected task
if :selected_task.id == params[:id]
if :selected_task.status == 2
# notice - can't start a timer that is already running
elsif :selected_task.status == 1
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = :selected_task.id
# change status of the this task
:selected_task.status = 2
:selected_task.save
else
# error - stopped tasks can't be selected
end
# if the recently started task is not already the selected task
else
# stop the task timer if it's still running
if :selected_task.status == 2
:task_timer = TaskTimer.find(:first,
:condition => "ended_at is null and " +
"user_id = #{(a)user.id} and " +
"task_id = #{:selected_task.id}")
:task_timer.ended_at = :now
:task_timer.save
end
#change status of selected task to stopped
:selected_task.status = 0
:selected_task.save
# find the newly started task
:selected_task = Task.find(params[:id])
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = params[:id]
# change status of the this task
:selected_task.status = 2
:selected_task.save
end
# if no selected task exists
else
# find the newly selected task
:selected_task = Task.find(params[:id])
# start the master timer, if necessary
unless @user.master_timer_is_running?
@user.start_master_timer
end
# start a new task timer timer
TaskTimer.create :started_at => :now,
:user_id => @user.id,
:task_id = params[:id]
# change status of the this task
:selected_task.status = 2
:selected_task.save
end
redirect_to :action => 'index'
end
private
before_filter :find_user
#
#
def find_user
@user = session[:user]
end
end
There are two heredoc-rules for the PHP grammar:
A generic one and an HTML one with HTML Syntax (the first rule even).
I improved the HTML one a little by including the PHP variables and
made another two for XML and SQL.
Maybe someone with svn write access could include them in the default
grammar. Forking the PHP grammar does not really work as one had to
fork the HTML as well…
Have fun,
Soryu
Hi Robert, hi Mark (et al.),
I've just downloaded TextMate and subscribed to this list, curious if
there's also a ConTeXt bundle to work with.
As I have read your thread from last year I was wondering how things
are going?
Or does anybody else has good news for us ConTeXters?
Steffen
Thanks Niko,
mysql is definitely in my path. I use tcsh and mysql is there:
setenv PATH /usr/local/mysql/bin:$PATH
However /usr/local/mysql/bin/ and other directories that I set in my
path are not reported in the search path that the MySQL bundle tells
me it is using:
"Couldn't find mysql
Locations searched:
/Applications/TextMate.app/Contents/SharedSupport/Support/bin/
CocoaDialog.app/Contents/MacOS
/bin
/sbin
/usr/bin
/usr/sbin
/Applications/TextMate.app/Contents/SharedSupport/Support/bin"
I tried modifying the PATH variable in the Advanced pane of TextMate
Preferences, to no avail.
So as a hack, I created a symbolic link to mysql in TextMate using
these commands:
cd /Applications/TextMate.app/Contents/SharedSupport/Support/bin
ln -s /usr/local/mysql/bin/mysql mysql
It's not pretty but it works. I'd still like to figure out how to
modify the PATH that the SQL Bundle uses ...
JR
I looked through the mailing list history and I know the whole FTP
integrated thing has been talked about a lot already but hear me out;
I just started working for this company where I HAVE to work off of
the server. I don't like it, but that's the way it's gonna have to
be for now (working on it though ;)
So I tried to figure out a way to work with project windows off of
the server and discovered it was impossible... What I do now, is
open all the files via FTP and then drag them to an empty project and
hide all the windows. It's a major pain but I do it once in the
morning and leave it open all day so that's not too bad.
What I would like to know is if there's a way I could automatize the
process, some sort of "add all open windows to empty project" type
macro or something along those lines. Not as good as being able to
save projects on remote servers, but it would be good enough for now...
I also read that someone had some kind of Perl/rsynch combo that sort
of mimicked the project on server idea, but I couldn't find enough
info to get anything working.
Any help in optimizing a remote type workflow would be greatly
appreciated. Thanks!
(As a side note, I almost got my boss to switch from BBEdit, but the
whole remote project issue blew it.)
Yann
> minimal.design textmate at minimaldesign.net
> Wed Feb 15 00:10:25 GMT 200
>
> I just started working for this company where I HAVE to work off of
> the server.
> ... Any help in optimizing a remote type workflow would be greatly
> appreciated.
Transmit has a new feature they're calling 'Edit in Whatever.' Edit
any remote file, in any app — even graphics!
<http://www.panic.com/transmit/>
Editing Files in an External Editor
Transmit can edit any remote file, using any local editor. Transmit
will download the file to a temporary directory, and watch the file
for changes. When you hit "Save" in your local editor, and the file
is changed, Transmit will automatically upload the file to the server.
Select the file to be edited.
- Choose File > Edit in [Editor Name]. (The name of the Finder's
default editor for that file type will be displayed.)
- Keep Transmit running while editing the file.
- Make the desired changes in the editor.
- If you want to keep the changes, save the file in the editor.
Transmit will save the file to the server automatically. The editor
can be closed or quit when it is no longer needed.
If you wish to edit files in a different editor than the Finder's
default:
- Right click, or control-click, the file to be edited.
- Choose Edit With > [Name of Editor You Want To Use]
- If the editor you wish to use isn't present, choose Edit With >
Other... and select the editor manually
If you wish to permanently edit files in a different editor than the
Finder's default:
- Choose Transmit > Preferences.
- Click Files.
- Click the icon next to Custom File Editors.
- Type the extension you wish to associate (for example, html), and
choose the application you wish to edit with.