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

Textmate Bundleを変換する[Aptana]

作成日 2015.02.04
最終更新日 2015.02.04

原文

Aptana Documents Rubles:Converting a Textmate Bundle(外部サイト)

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

概要 Overview

Studioは、ユーザーが、既存のTextmate bundleをRubleに変換できます。 処理は、元の内容のかなりの割合を変換します。 しかし、変換を完了するために、かなりの追加作業が必要な場合があります。

コンバージョンを実行する Performing the conversion

  1. お使いのコンピュータに*.tmbundleファイルのコピーをダウンロードします。
  2. Studioを開き、Commands Bundle Development > Convert Textmate Bundle>を選択します。
  3. 上記の、あなたがダウンロードしたバンドルに移動します。「Open」をクリックします。 バンドルは、ルーブル・プロジェクトに変換され、あなたの作業スペースで開かれます。

これは、既定のRuble構造を作成します。 (メニュー定義が含まれている)bundle.rbファイルに、 そして、スニペットとコマンドをそれら自身のフォルダに、いくつかの中心的な要素を移動します。

現在、サポートや変換はされませんNot currently supported or converted

  • Dragコマンド
  • 言語定義
  • マクロ [Macros]
  • 環境設定
  • テンプレート

デバギング Debugging

あなたは、どんなコンパイル・エラーもスクリプト・コンソールに出力して確認したいと思います。それは、問題なしで動作します。 それは可能ですが、オリジナルのバンドルには、いくつかのエラーがありました。 私たちは、同様に、Troubleshootingコントロールパネルを使用して、Warningのエラーレベルを上げることを提案します。 スニペットのエラーは、あなたのログファイルに表示されます。

変換コマンド Converting commands

スニペットは、自動的に、それぞれの.tmSnippetファイルから、コマンド・フォルダの下のファイルに変換されます。例えば、

Remote SiteのRoot.tmCommandを開きます。


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>beforeRunningCommand</key>
    <string>nop</string>
    <key>command</key>
    <string>osascript -e "tell application \"Transmit\" to open POSIX file \"$TM_PROJECT_DIRECTORY\""</string>
    <key>input</key>
    <string>none</string>
    <key>keyEquivalent</key>
    <string>^O</string>
    <key>name</key>
    <string>Open Remote Site Root (Transmit)</string>
    <key>output</key>
    <string>discard</string>
    <key>scope</key>
    <string>text.html.txp</string>
    <key>uuid</key>
    <string>396C9943-77EA-44E7-A1B6-DB291760256F</string>
</dict>
</plist>
				

commands/open_remote_site_root.rb


require 'ruble'
 
command 'Open Remote Site Root' do |cmd|
  cmd.key_binding = 'M4+M2+O'
  cmd.scope = 'text.html.txp'
  cmd.output = :discard
  cmd.input = :none
  cmd.invoke =<<-EOF
osascript -e "tell application \"Transmit\" to open POSIX file \"$TM_PROJECT_DIRECTORY\""
EOF
end
				

一般に、ほとんどのコマンドは、特定のシェルスクリプトで、 プラットホーム固有の機能に依存する可能性はありますが、問題なく変換されます。 あなたが、好きであれば、それらは、それらをクロスプラットフォームで作成するために、 Rubyで書き換えることができます。

変換ファイルの関連づけ Converting file associations

コンバータは、ファイル拡張子のマッピングにスコープの既定の設定を作成するでしょう。 bundle定義に基づいています。例えば、


bundle.file_types['text.html.txp'] = '*.txpml', '*.txfml', '*.txaml'
			

この結果、Studio内容のタイプ関連付けは、 それによって、test.txpmlという名前のファイルは、「Studioテキストエディター」で開かれることになります。 あなたが、HTMLエディタのような、異なるエディタで開かれるファイルをマッピングしたい場合は、 下記を参照してください。

スニペットの変換 Converting snippets

スニペットは、自動的に、それぞれの.tmSnippetファイルから、snippets/snippets.rb内のブロックに変換されます。

タグ属性 Return.tmSnippet


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>content</key>
    <string>$1="${2:a}" </string>
    <key>keyEquivalent</key>
    <string></string>
    <key>name</key>
    <string>Tag Attribute Return</string>
    <key>scope</key>
    <string>text.html.txp meta.tag -string.quoted.double</string>
    <key>uuid</key>
    <string>05577AB6-68A5-4CF6-A2FF-2C2E846F0621</string>
</dict>
</plist>
			

snippet.rb


snippet 'Tag Attribute Return' do |s|
  # FIXME No tab trigger, probably needs to become command
  s.key_binding = ''
  s.scope = 'text.html.txp meta.tag -string.quoted.double'
  s.expansion = '$1="${2:a}" '
end
			

いくつかのTextmateスニペット機能、特に入れ子にされたtabストップは、サポートされていません。 そして、検索/置換・正規表現。これらの式の多くは、容易にすることができます。しかし、厳密な機能は、常に利用できません。例えば、


${1:<txp:}${2:permlink}${3:/>}$4${3/\/|(.+)/(?1:<\/txp\:permlink> )/}
			

2つ目の${3/\/|(.+)/(?1:<\/txp\:permlink> )/}は、$3が反映された値の場所で変換を使用できません。 このような状況では、余分のtabストップを導入するほうが、より簡単な可能性があります。

テンプレートを変換する onverting templates

テンプレートは、.txamlと.plistの2つの部分に変換されるでしょう。

id.title.txaml


<txp:anc_hide>${TM_NEW_FILE_BASENAME}.txaml</txp:anc_hide>

<txp:anc_hide>Created by ${TM_USERNAME} on ${TM_DATE}.Copyright (c) ${TM_YEAR} ${TM_ORGANIZATION_NAME}. 
All rights  reserved.</txp:anc_hide>
			

info.plist


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>command</key>
    <string>if [[ ! -f "$TM_NEW_FILE" ]]; then
   TM_YEAR=`date +%Y` \
   TM_DATE=`date +%Y-%m-%d` \
   TM_USERNAME=`niutil -readprop / /users/\$USER realname` \
   perl -pe 's/\$\{([^}]*)\}/$ENV{$1}/g' \
      &lt; id.title.txaml &gt; "$TM_NEW_FILE"
fi</string>
    <key>extension</key>
    <string>txaml</string>
    <key>keyEquivalent</key>
    <string>@n</string>
    <key>name</key>
    <string>Article Body</string>
    <key>scope</key>
    <string>text.html.txp</string>
    <key>uuid</key>
    <string>B4FF0F58-74BD-437B-9104-D0558C69ADA6</string>
</dict>
</plist>
			

テンプレートのために適したプロジェクト構造を設定する方法は、ここを参照してください。 つまり、処理は以下の通りです。:

  1. 新しい「templates」のサブフォルダを作成します
  2. テンプレートの内容を格納する、新しいファイルを作成します(即ち、id.title.txaml)
  3. id.title.txamlに、次の内容を貼り付けます。:
  4. 
    <txp:anc_hide>${TM_NEW_FILE_BASENAME}.txaml</txp:anc_hide>
    
    <txp:anc_hide>Created by ${USER} on ${TM_DATE}.Copyright (c) ${TM_YEAR} ${TM_ORGANIZATION_NAME}. All rights  reserved.</txp:anc_hide>
    			
  5. あなたのbundle.rbファイルの最後に、最後の「end」の前に、以下を追加します。:
  6. 
    template "ID.Title Template" do |t|
      t.filetype = "*.txaml"
      t.invoke do |context|
        ENV['TM_YEAR'] = Time.now.strftime("%Y")
        ENV['TM_DATE'] = Time.now.strftime("%Y-%m-%d")
        raw_contents = IO.read("#{File.dirname(ENV['TM_BUNDLE_SUPPORT'])}/templates/id.title.txaml")
        raw_contents.gsub(/\$\{([^}]*)\}/) {|match| ENV[match[2..-2]] }
      end
    end
    			
  7. bundle.rbを保存します

あなたが、今、File New From Template > Bundle Name > ID.Title Template>を選択する場合、 それは、あなたが指定したタイプの新しいテンプレートを作成できるでしょう。

私たちは、「TM_USER」がサポートされた変数で無いため、TM_USERをUSERに切り替える必要があります。

新しいファイル拡張子を既存のエディタと関連させる
Associating new file extensions with an existing editor

一例として、私たちは、Textpatternバンドル変換し、そして、HTMLとTextpattern構文が混合して含まれる *.txpmlファイルを編集するために、それを使用することを望んでいると述べます。 私たちは、使用するためにHTMLエディタが必要です。指示に従ってください [ここ|あなたのファイルの関連づけの環境設定を変更します}詳細は。
AptanaのドキュメントRubles
Aptana
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system