Difference between revisions of "Talk:TextMate"

From Wiki
Jump to navigation Jump to search
m (weird tab completions)
(→‎weird tab completions: and \stopsomething)
Line 110: Line 110:
 
== document creation of autocomplete scripts ==
 
== document creation of autocomplete scripts ==
  
== fix some weird tab completions ==
+
== weird tab completions ==
  
This is wrong:
+
How does one use this one?
 
  <nowiki>\date ${1:[${2:...,...=...,...}]}[${3:...,...,...}]
 
  <nowiki>\date ${1:[${2:...,...=...,...}]}[${3:...,...,...}]
 
$4</nowiki>
 
$4</nowiki>
as it replaces the brackets as well.
+
 
 +
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):
 +
 
 +
<nowiki>#!/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</nowiki>

Revision as of 03:47, 28 January 2008

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