ホーム > コンピュータ > webツール > Aptana

外部コマンドを実行する[Aptana]

作成日 2015.02.05
最終更新日 2015.02.05

原文

Aptana Documents Rubles:Executing an External Command(外部サイト)

公式ページのドキュメントです。英語です。

概要 Overview

このレシピでは、私たちは、Rubleコマンドが、外部ツールを呼び出すことができる方法を示します。

外部アプリケーションを呼び出し、結果を表示する
Calling an external application and displaying the results

この最も簡単な例で、私たちは、「\Users\username」ディレクトリ内の「ls」アプリケーションを実行します。 そして、結果をコンソールへ印刷します。私たちは、この2つの異なる方法で、実行する可能性があります。 それを、私たちは、ここで検討します。:

単一行のアプローチ Single-line approach

簡単なコマンドを実行し、追加の情報を追加し、あるいは、結果に対して操作を実行するだけである場合、下記のアプローチは、役に立ちます。

			
require 'ruble' command 'List Files' do |cmd| cmd.output = :output_to_console cmd.working_directory = "\Users\username" cmd.invoke = "ls" end

ブロック Blocks

ブロック内のコマンド呼び出しを実行すると、私たちは、入力と出力のより複雑な操作を行うことができます。 また、私たちは、この文脈において、lsアプリケーションを実行するために、Ruby backticks(`)を使用することに注意します (まるで、私たちが、直接、コマンドをシェルに渡しているように、)、しかし、上で使用した、作業ディレクトリの選択肢は、 この状況では、動作しません...それは、コマンドそのもの一部である必要があります。

require 'ruble'
 
command 'List Files' do |cmd|
  cmd.output = :output_to_console
  cmd.invoke do |context|
    `ls /Users/username`
  end
end
			

エディタの現在の内容を、外部アプリケーションに渡します。 多くの場合、エディタで何かを選択することは役に立ちます。 そして、その値に基づく外部ツールを呼び出します。 cmd.outputは、いろいろな選択肢を取ることができます。

最も一般的なもののいくつかは、以下の通りです。:

  • :selection: エディタの選択されたテキスト
  • :line: 挿入記号が含まれる行
  • :document: 現在のドキュメント全体
  • :clipboard: クリップボードの内容

実行したコマンドで選択を使用する。
Using the selection in the executed command

ここで、私たちはエディタの現在の選択内容を取得して、コンソールにそれをエコーします。

backticksを使用するとき、あなたは、環境変数の値を一時的な変数に割り当てる必要があります。 そして、コマンドで、それを使用します。


require 'ruble'
 
command 'List Files' do |cmd|
  cmd.output = :output_to_console
  cmd.input = :selection
  cmd.invoke do |context|
    selection = ENV['TM_SELECTED_TEXT']
    `echo "#{selection}"`
  end
end
			

STDINを参照する Referencing STDIN

ここに、私たちは、エディタで現在の選択を取得し、標準コマンド「cat」にそれを送ります。コンソールに結果を出力します。:

require 'ruble'
 
command 'Output input' do |cmd|
  cmd.output = :output_to_console
  cmd.input = :selection
  cmd.invoke do |context|
    cmd_line = "cat"
    IO.popen(cmd_line, 'r+') do |io|
      io << ENV['TM_SELECTED_TEXT']
      io.close_write
      io.read
    end
  end
end
			

OSごとに異なるコマンドを実行する
Running different commands per OS

私たちは、異なるコマンドを実行するプラットホームに指定し、そして、また、コマンド呼出しに、単一行とブロック・メソッドを混在させることができます。:

# general form, used if no platform specific form is provided
command.invoke = "ls"
command.invoke.windows = "dir /s"
command.invoke.linux do |context|
 `ls`
end
			

bashスクリプトを実行する Running a bash script

高度な使用方法については、あなたは、さらにコマンドの一部として、全体のbashスクリプトが含めることができます。

require 'ruble'
 
command 'Echo selection' do |cmd|
  cmd.output = :output_to_console
  cmd.input = :selection
  cmd.invoke =<<-EOF
#!/bin/bash
selection=${TM_SELECTED_TEXT}
echo "$selection"
EOF
end
			
AptanaのドキュメントRubles
Aptana
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system