On 22.08.2016, at 11:39 , Allan Odgaard mailinglist@textmate.org wrote: Yes, you can use these. Though since that only affects the command, if you exit_discard then you leave the user with a selection, so it might be better to just output an “unchanged” snippet incase you want to abort.
TextMate detects when a command’s output matches what’s already in the document (it does prefix/suffix match) so there should be no visible flash when replacing content with what’s already there
That is the weird thing: My command (running from the Macro):
#!/usr/bin/env ruby18 -wKU require "#{ENV['TM_SUPPORT_PATH']}/lib/escape.rb" block = STDIN.read if block =~ /^{ [^\s]/ print e_sn("{\n#{block[2..-3]}\n}") else print e_sn(block) end
1. When I replace selected Text, or use "snippet" I get no indentation:
function() { const x = { number: 33 } }
->
function() { const x = { number: 33 } }
2. When I output with insertAsSnippet, I get almost correction indentation
function() { const x = { number: 33 } }
->
function() { const x = { number: 33 } }
3. When I output with insertAsSnippet, but just print the block again without changes, I get more indentation than I need…
function() { const x = { number: 33 } }
->
function() { const x = { number: 33 } }