Talk:ConTeXt Bundle for TextMate
From ConTeXt wiki
[edit] Feature requests and fixes
(so that the do not get lost before integrating them into the bundle) --Mojca 02:55, 28 January 2008 (CET)
[edit] inclusions for lua (as for metafun)
[edit] support more engines (--lua) and other preferences
See
Bundles -> LaTeX -> Preferences
or
Latex.tmbundle/Support/bin/texMate.py
(hmmm ... it even supports texexec :)
(check how LaTeX does different things through menus)
[edit] implement metafun syntax & autocomplete
[edit] autocomplete
Try
<a[alt+esc]
on HTML and implement the same for ConTeXt (try to figure out how to implement that with less S-es).
[edit] add texshow's help
Parse XML (or some other form) natively, without the need for web version (or both) and display html window.
[edit] [opt+R] on projects
Any chance to compile the main file when the file starts with \component?
[edit] scroll down in the log window automatically
(and blink or something if compilation fails)
Edit Commands/typeset.tmCommand to include
<key>autoScrollOutput</key> <true/>
[edit] add support for automatic open after [opt]+R
[edit] add support for a different ConTeXt tree
[edit] document creation of autocomplete scripts
[edit] weird tab completions
How does one use this one?
\date ${1:[${2:...,...=...,...}]}[${3:...,...,...}]
$4
Also, it would be nice to:
- be able do completion as
\definesomething
[...]
[...]
- use sensible names instead of dots where possible (maybe misusing italic is possible)
\externalfigure [file][...,...=...,...]
- have the endings:
\stopsomething
for example (cloned from HTML):
#!/usr/bin/env ruby
doc = STDIN.read
line = ENV['TM_LINE_NUMBER'].to_i
line_index = ENV['TM_LINE_INDEX'].to_i
if ENV.has_key? 'TM_INPUT_START_LINE' then
line = ENV['TM_INPUT_START_LINE'].to_i
line_index = ENV['TM_INPUT_START_LINE_INDEX'].to_i
end
before = /(.*\n){#{line-1}}.{#{line_index}}/.match(doc)[0]
#before.gsub!(/<[^>]+\/\s*>/i, '')
# remove all comments
before.gsub!(/[%].*/, '')
stack = [ ]
before.scan(/\\(start|stop)([a-zA-Z]+)/) do |m|
if m[0] == 'start' then
stack << m[1]
else
until stack.empty? do
close_tag = stack.pop
# print ">>#{close_tag}"
break if close_tag == m[1]
end
end
end
if stack.empty? then
%x{ osascript -e beep &>/dev/null & }
else
print "\\stop#{stack.pop}"
end
[edit] disable smart typing \& comments after backslash
clone from LaTeX bundle (maybe it could be simply inherited yrom TeX somehow?)
[edit] more possibilities for tab-completion
when there are optional parameters, offer all of them for tab-completion and offer their descriptions (see how it's implemented in CSS)
[edit] Unicode bundle
- browse (by name/description/code) and insert unicode glyphs
- help about the character under cursor
[edit] Graphical
Is it possible to have a graphical menu with math symbols for example?
[edit] Won't fix
(comments by Patrick)
[edit] refresh viewer
Can't get this to work on my machine (tiger, power pc, german ui)
improve this code & import it into open link:
pdf=${TM_FILEPATH%tex}pdf
PDFFILE=`echo "${pdf}" | sed -e 's/.[^.]*$/.pdf/'`
PDFBASENAME=`basename ${PDFFILE}`
echo "
tell application \"System Events\"
if exists process \"Preview\" then
tell application \"Preview\" to activate
tell process \"Preview\"
tell menu bar 1
repeat with currentItem in (every menu item of menu \"Window\" of menu bar item \"Window\" whose name contains \"${PDFBASENAME}\")
click currentItem
click menu item \"Close\" of menu \"File\" of menu bar item \"File\"
end repeat
end tell
end tell
end if
end tell
" | osascript
# open ${PDFFILE}
open -a ${PDF_VIEWER:=Preview} "${pdf}"
[edit] Fixed in 0.7
[edit] parse_texexec_output.rb
- remove
str.gsub!("\n", "<br>")
- add
str = str.gsub(/^.*Insecure world writable dir.*?\n/, '')
- Replace
str = str.gsub(/(.*?):(\d+):(.*)/, "<a href='txmt://open?url=file://#{dir}/#{file}&line=\\2'>\\1:\\2:\\3</a>")
with
str = str.gsub(/(.*?):(\d+):(.*)/, "<a href='txmt://open?url=file://#{dir}/\\1&line=\\2'>\\1:\\2:\\3</a>")
else errors point to wrong locations in case of project structure.
[edit] $$ pairs
create a new P
{ highlightPairs = (
( '(', ')' ),
( '{', '}' ),
( '[', ']' ),
( '$', '$' ),
);
smartTypingPairs = (
( '"', '"' ),
( '(', ')' ),
( '{', '}' ),
( '[', ']' ),
( '$', '$' ),
);
# no idea what that is (copied from text)
unIndentedLinePattern = '^\s*$';
}
[edit] fix env[tab]
\start${1:text}
$0
\stop${1/(\w*)(.*\n*)*/$1/}
[edit] add itm[tab]
\\startitemize \\item $0 \\stopitemize

