É possível rodar JavaScript no Textmate?

3

Se eu tentar executá-lo agora, recebo um erro do XCode. Preciso instalar um interpretador JavaScript no meu computador?

    
por oalo 01.11.2011 / 23:52

1 resposta

9

javascript-tools

Primeiro de tudo, há o javascript-tools Bundle , que oferece algumas ferramentas de produtividade, como a verificação de sintaxe do Lint , Compactação YUI, criação de bookmarklet e muito mais.

Criando seu próprio pacote

O OS X vem com um interpretador JS encontrado em /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc . Você pode ligá-lo ao seu PATH para disponibilizá-lo em todos os lugares.

Por exemplo:

ln -s /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc /usr/local/bin

Verifique se funciona apenas digitando:

jsc

Você deve pousar em um console.

Agora,insiraTextMateeabraoeditordebundleindoparaBundles»BundleEditor»MostrarBundleEditor.NopacoteJavaScript,crieumnovocomandoclicandonobotão+abaixo.

DefinaaEntradaparaDocumentoInteiroeaSaídaparaDescartar.ConfigureoatalhodetecladoparaCmd-R.Agora,coleo script a seguir na própria área de comando:

#!/usr/bin/env ruby

require ENV['TM_SUPPORT_PATH'] + '/lib/escape.rb'

def terminal_script_filepath
  %|tell application "Terminal"
      activate
      do script "jsc -i #{e_as(e_sh(ENV['TM_FILEPATH']))}"
    end tell|
end

open("|osascript", "w") { |io| io << terminal_script_filepath }

Isso deve se parecer com o seguinte:

Evocêestáfeito.ExperimentesalvandoumarquivoJSepressionandooatalhodoteclado.

Usando o V8 do Google em vez

Você pode instalar o mecanismo JavaScript V8 do Google , é gratuito e de código aberto, e é fornecido para todos os principais sistemas operacionais.

Agora, para instalá-lo, você precisa criar você mesmo ou usar um gerenciador de pacotes como Homebrew .

Instale o Homebrew primeiro:

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

Em seguida, instale o mecanismo V8:

brew install v8

Isso leva um tempo para compilar. Agora, quando terminar, você poderá adaptar o script acima para usar o V8. Basta alterar a linha com do script para:

do script "v8 #{e_as(e_sh(ENV['TM_FILEPATH']))}"
    
por 02.11.2011 / 13:12