Talk:TextMate
Revision as of 03:47, 28 January 2008 by Mojca Miklavec (talk | contribs) (→weird tab completions: and \stopsomething)
Contents
- 1 Feature requests and fixes
- 1.1 parse_texexec_output.rb
- 1.2 refresh viewer
- 1.3 $$ pairs
- 1.4 fix env[tab]
- 1.5 add itm[tab]
- 1.6 inclusions for lua (as for metafun)
- 1.7 implement metafun syntax & autocomplete
- 1.8 autocomplete
- 1.9 add texshow's help
- 1.10 [opt+R] on projects
- 1.11 scroll down in the log window automatically
- 1.12 add support for automatic open after [opt]+R
- 1.13 add support for a different ConTeXt tree
- 1.14 document creation of autocomplete scripts
- 1.15 weird tab completions
Feature requests and fixes
(so that the do not get lost before integrating them into the bundle) --Mojca 02:55, 28 January 2008 (CET)
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.
refresh viewer
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}"
$$ pairs
create a new P
{ highlightPairs = ( ( '(', ')' ), ( '{', '}' ), ( '[', ']' ), ( '$', '$' ), ); smartTypingPairs = ( ( '"', '"' ), ( '(', ')' ), ( '{', '}' ), ( '[', ']' ), ( '$', '$' ), ); # no idea what that is (copied from text) unIndentedLinePattern = '^\s*$'; }
fix env[tab]
\start${1:text} $0 \stop${1/(\w*)(.*\n*)*/$1/}
add itm[tab]
\\startitemize \\item $0 \\stopitemize
inclusions for lua (as for metafun)
as well as support for --lua switch
implement metafun syntax & autocomplete
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).
add texshow's help
Parse XML (or some other form) natively, without the need for web version (or both) and display html window.
[opt+R] on projects
Any chance to compile the main file when the file starts with \component?
scroll down in the log window automatically
and blink or something if compilation fails
add support for automatic open after [opt]+R
add support for a different ConTeXt tree
document creation of autocomplete scripts
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