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

保存上のトリガ[Aptana]

作成日 2015.02.05
最終更新日 2015.02.05

原文

Aptana Documents Rubles:Trigger on Save(外部サイト)

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

概要 Overview

このレシピでは、私たちは、エディタが、その内容を保存するとき、Rubleコマンドが起動することができる方法を示します。 これは、ファイルが保存されたあと、すぐに処理を発生されることができます。

コード The Code

以下のスニペットでは、私たちは「実行リスナー」に私たちのコマンドを登録します。 そのリスナーが「org.eclipse.ui.file.save」IDによるイベントを検出すると、コマンドが起動するでしょう。 呼出しブロックの中で、私たちは、コンテクストに「execution_listener」プロパティが含まれていることがわかります。 それは、イベントに送信されているプロパティのハッシュです。 すべてのキーと値の組合せは、コンソールに発行されます。あなた独自の記事を保存する処理を行うために、 単純に、適切なコードでCONSOLE.puts行を置換します。

require 'ruble'
 
bundle do |bundle|
  bundle.author = "Kevin Lindsey"
  bundle.copyright = "Copyright 2001 Appcelerator, Inc. Distributed under the MIT license."
  bundle.display_name = "Execute on Save"
  bundle.description = "A simple bundle showing how to trigger a command when editors save their content"
end
 
command "Show Save Information" do |cmd|
  cmd.input = :none
  cmd.output = :discard
  cmd.trigger = :execution_listener, "org.eclipse.ui.file.save"
  cmd.invoke do |ctx|
    ctx.execution_listener.each {|k,v| CONSOLE.puts "Execution: #{k}=#{v}"}
  end
end
			

備考:

どんなイベントが利用できるか知るために、 単純に、トリガの割当てから「org.eclipse.ui.file.save」引数を削除します。 これは、すべてのリスナー・イベントを実行するため、コマンドを起動するために引き起すことになります。

例 An Example

現在のファイルを取得し、特定の場所でバックアップを作成するスクリプト。

command "Backup Open Editor" do |cmd|
  cmd.input = :document
  cmd.output = :discard
  cmd.trigger = :execution_listener, "org.eclipse.ui.file.save"
  cmd.invoke do |ctx|
    backup_path = "/Users/ingo/Desktop/"
    source_path = ENV['TM_FILEPATH']
 
    # Strip name and extension to create a new backup file name.
    # We use Unix milliseconds to provide the unique #
    ext = File.extname(source_path)
    filename = File.basename(source_path, ext)
    destination_path =  backup_path + filename + "_" + Time.now.to_i.to_s + ext
 
    # Copy the file name
    CONSOLE.puts "Backing Up: " + source_path + " to " + destination_path
    File.copy(source_path, destination_path) 
  end
end
			
AptanaのドキュメントRubles
Aptana
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system