Firefox AddonであるVimperatorの解説(主に開発視点)

FrontPage > liberator(2.0)
FrontPage > liberator(2.0).modules

注意:このコンテンツはまだ書きかけです。コンテンツ中はバージョン1.2へものとなっているもの、存在しないプロパティがある可能性があります。執筆者は募集中です。



mode

現在のメインモードを取得/設定するためのGetter/Setter
内部的にはliberator.modules.modes.main に対するgetter,setterとして実装されている。

CURRENT_TAB

値:1
liberator.open の第2引数に使用されるフラグ
現在バッファ(タブ)へ開く時に用いる

NEW_TAB

値:2
liberator.open の第2引数に使用されるフラグ
新規バッファ(foreground)へ開く時に用いる

NEW_BACKGROUND_TAB

値:3
liberator.open の第2引数に使用されるフラグ
新規バッファ(background)へ開く時に用いる

NEW_WINDOW

値:4
liberator.open の第2引数に使用されるフラグ
新規ウィンドウへ開く時に用いる

forceNewTab

デフォルト:false
tabコマンドで使用され、liberator.openメソッド使用時に強制的にタブに開く様になる。

例えば、abount:config を開くprefs!コマンドは現在バッファに開かれるが、:tab prefs!とすると新規バッファに開けるようになる

version

Vimperatorのバージョン。version (created: date) という書式の文字列

profileName

現在のFirefoxプロファイルの名前

input

以下のメンバを持つオブジェクトで、入力中のmapを一時的に保管するために用いられる
buffer
タイプしたキー文字列(default: "")
pendingMotionMap
motion mapを保管する(liberator.Mapオブジェクト or null)
pendingArgMap
追加の1キーストロークを必要とするmapを保管する(liberator.Mapオブジェクト or null)
count
mapのカウント数を保管するNumberオブジェクト(default: -1)

registerCallback (type, mode, func)

type(String)
登録するcallback関数のタイプ
mode(Number)
モード
func(Function)
発動する関数オブジェクト

triggerCallback (type, mode, data)

type(String)
登録したcallback関数のタイプ
mode(Number)
モード
data
callback関数の第一引数に渡すデータ

beep ()

ビープを鳴らすメソッド(オプションvisualbellがONの時は音は鳴らなず、画面点滅となる)

newThread ()

callAsync (thread, self, func)

callFunctionInThread (thread, func)

dump (message)

コンソールダンプするためのメソッド
message(Object)
オブジェクトである場合はliberator(2.0).modules.util.objectToString()でオブジェクト内のプロパティもダンプされる
出力先は、デバッグログ(-console コマンドラインオプションで出力されるログ。:js!コマンドで表示されるJSコンソールでは無い)に出力される。
デバッグログを出力させるためには、プレファレンス browser.dom.window.dump.enabled が"true"とする必要がある。
Vimpからだと、
:set! browser.dom.window.dump.enabled=true
とすれば良い。

dumpStack (msg, frames)

コンソールにエラーのスタックトレースを出力するためのメソッド。
dump()と同じく出力先はデバッグログ。

echo (str, flags)

コマンドラインバッファに値を出力するメソッド
liberator.commandline.echo メソッドの第2引数をliberator.commandline.HL_NORMALにしたエイリアス的存在
flags には以下の値を複数指定可能
commandline.FORCE_MULTILINE複数行表示。改行指定には "\n" や "<br />" を使う。FORCE_SINGLELINE とともに指定された場合無視されるが DISALLOW_MULTILINE とともに指定されるとこちらが優先される
commandline.FORCE_SINGLELINE1 行表示。 "\n" は空白に、 "<br />" はそのまま表示される。 FORCE_MULTILINE とともに指定された場合こちらが優先される
commandline.DISALLOW_MULTILINE1 行表示かつすでにコマンドラインバッファに何か表示されている場合は何もしない。 FORCE_MULTILINE とともに指定されると無視される
commandline.APPEND_TO_MESSAGES表示と同時に :message で表示可能なメッセージ履歴に加える

各フラグの優先順位は以下の通り
  1. FORCE_SINGLELINE
  2. FORCE_MULTILINE
  3. DISALLOW_MULTILINE

複数指定する場合、 "|" で OR をとって liberator.echo("foo\nbar", commandline.FORCE_MULTILINE | commandline.APPEND_TO_MESSAGES) のように書く
指定なしの場合のデフォルトは FORCE_SINGLELINE

echoerr (str, flags)

liberator.echo に似ているが、liberator.commandline.echo の第2引数をliberator.commandline.HL_ERRORMSGにしたエラー出力を目的としたメソッド
flags の指定は echo と同様

echomsg (str, verbosity, flags)

メッセージを出力するメソッド liberator.echo に似ているが、verbosityverboseオプションによって出力させないことが可能
str(String)
メッセージ文字列
verbosity(Number)
重要度(小さいほど重要度は高い)
flags
echo と同様

loadScript (uri, context)

JavaScriptをロードするためのメソッド
uri(String)
スクリプトのあるURI(ローカルのみ)
context(Object)
このオブジェクトをスコープにスクリプトがロードされる

eval (str, context)

通常のJavaScriptの eval に似ているが第二引数がありcontextをスコープに設定できる。
str(String)
実行する文字列
context(Object)
実行スコープのオブジェクト

evalExpression (string)

Vimperatorオプションを値に展開するメソッド
必要性は疑問

execute (str, modifiers, silent)

strをVimperatorコマンドとして実行するメソッド
str(String)
コマンド文字列
modifiers(Object)
liberator(2.0).modules.Command?オブジェクトのexecuteメソッド?実行時に渡される第4引数(滅多に使わないだろう)
silent(Boolean)
trueにすると、実行文字列がコマンドラインに表示されなくなる

focusContent (clearFocusedElement)

<Esc>押下時などNORMALモードに戻るときに良く使われ、Vimperatorではwindow.contentへフォーカスを移すためのメソッド
clearFocusedElement(Boolean)
現在フォーカスされている要素を外すか否かのフラグ

以下の順序で判別し値を返す
  • オプションにその文字列があるか string.match(/^&(\w+)/)
    • 真偽値や数値でなければオプション値にtoString()したもの
  • 引用符('or")で囲まれている場合は囲まれている文字列 string.match(/^(['"])([^\1]*?[^\\]?)\1/)
  • 数値である場合はparseIntした値 string.match(/^(\d+)$/)
  • let定義したキーワードである場合はその値 liberator.variableReference(string)

has (feature)

liberator.config.features からその機能を持つか否かの真偽値を返すメソッド
feature(String)
機能名
主にThunderbirdのAddonであるMuttatorとの絡みで必要とされる

hasExtension (name)

Addonの存在有無を返すメソッド
name(String)
Addon名
liberator.hasExtension("Vimperator") // true

findHelp (topic)

topicにマッチするヘルプを返すメソッド。後述の help メソッドに使用される
topic(String)
トピック名

help (topic)

ヘルプをバッファ(タブ)に出力するメソッド
topic(String)
トピック名

globalVariables

空オブジェクト
ユーザがletコマンド等から定義した値が格納される

loaadModule (name, func)

Vimperator起動時に使用され、各オブジェクトの生成を受け持つ。
name(String)
liberatr.になる名前
func(Function)
呼び出すFunctionオブジェクト

loadPlugins ()

プラグインを読み込むメソッド。*.js, *.vimpをディレクトリを再帰的に読んでロードする。
読み込みディレクトリはruntimepathに依存

log (msg, level)

JavaScriptコンソールへログを出力するメソッド。ただし、実際に出力されるかどうかは、引数levelとextensions.liberator.loglevelの値に左右される
msg(Object)
出力するもの。Objectである場合liberator.modules.util.objectToStringで文字列化される。その他の場合は通常のtoStringされた文字列
level(Number)
重大度を示す値。オプションextensions.liberator.loglevelとの絡みで実質0〜9の値に意味が出てくる。0以下が重要度最高。この引数が省略された場合、levelは0とみなされる。
levelがextensions.liberator.loglevelの値以下である場合にコンソールへ出力される

因みにextensions.liberator.loglevelに設定できる値は0〜9の整数値。初期状態では、extensions.liberator.loglevelの設定自体は存在しないため、:set!コマンドやabout:configから設定を追加する必要がある。

open (urls, where)

URLを開く重要メソッド
urls(String)
,(カンマ)+空白区切りのURLのリスト文字列(1.2pre 2008-07-21以降からはオプションurlseparatorに依存)
where(Number)
CURRENT_TAB,NEW_TAB,NEW_BACKGROUND_TAB,NEW_WINDOWの値
urlsがliberator.util.stringToURLArrayにより、URLの配列に変換され、それぞれが開かれる。URL配列の長さが2以上の場合、2個目からはバックグラウンドに開かれる。

pluginFiles

空オブジェクト
メンバーにはロードしたプラグインのフルパスをキーとした真偽値が入る

plugins

空オブジェクト
プラグインによるVimperator拡張のオブジェクト置き場として使用される。
また、以下のメンバ名はCUSTOMモードを使用するプラグインで予約語的にVimperatorから使用されるので安易に使用しないこと
  • mode
  • stop
  • onEvent
  • customHintMatcher

quit (saveSession, force)

Firefoxを閉じるメソッド
saveSession(Boolean)
セッションを保存するか否か
force(Boolean)
強制的に終了させるか否か

reportError (error)

ごめん、ちょっと分からない

restart ()

Firefoxを再起動するメソッド

startup ()

Vimperator起動に使用されるメソッド
  1. 各モジュールのロード
  2. RCファイルの読み込み
  3. プラグインの読み込み

shutdown ()

Vimperatorを終了するメソッド

sleep (delay)

delay(Number)
スリープするミリ秒数

callInMainThread (callback, self)

threadYield (flush, interruptable)

variableReference (string)

windows

Firefoxの各Windowオブジェクトを配列で返すgetter

callFunctionInTread (thread, func, args)

主に外部エディタを新たなスレッドで開く時に使用される
タグ

このページへのコメント

liberator(2.0) - Vimperator - Seesaa Wiki鐃淑ワ申鐃緒申鐃緒申鐃緒申 for 鐃緒申鐃殉¥申鐃夙フワ申鐃緒申 ≪潟若 若潟 http://www.pslcbi.com/moncler2014.html

0
Posted by ≪潟若 若潟 2013年12月10日(火) 08:16:06 返信

liberator(2.0) - Vimperator - Seesaa Wiki鐃淑ワ申鐃緒申鐃緒申鐃緒申 for 鐃緒申鐃殉¥申鐃夙フワ申鐃緒申 ≪潟若 ≪ http://www.pslcbi.com/moncler2014.html

0
Posted by ≪潟若 ≪ 2013年12月09日(月) 17:12:03 返信

イエーガー webサカ
フランクミューラー 価格 http://www.dwatwu.com/

0
Posted by フランクミューラー 価格 2013年09月09日(月) 13:43:36 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

メニューバー






どなたでも編集できます