Skip to content
Hiroaki Otsu edited this page Feb 21, 2014 · 6 revisions

plsenseの使い方について

実行方法

都度実行を完了する

$ plsense help assist
Do assist for given Code.

Assist is a optimized completion.
...

$

対話的に実行する

$ plsense -i
> help assist
Do assist for given Code.

Assist is a optimized completion.
...

> exit
$ 

基本の流れ

plsense単体で動作させる基本的な流れは以下のようになります。
エディタから使う場合、ユーザの操作に合わせた適切なタイミングで、これらを実行することになります。

1. サーバを起動する

plsenseは、バックグラウンドでサーバプロセスが動作し、実質的な処理は全てサーバプロセスが担います。
plsenseコマンドは、サーバプロセスにリクエストしたりレスポンスを取得するクライアントです。
serverstartでサーバを起動します。

2. ファイルを開く

補完/ヘルプ情報を取得したいファイルを開きます。
ここでいう"開く"とは、openを実行することを指します。
すると、まだ解析されていないファイルの場合は解析処理がバックグラウンドで始まります。

3. 位置を指定する

サーバに補完/ヘルプ情報を要求する際、どこに対して最適化された情報が欲しいのかを指定しておく必要があります。
つまり、ユーザがどこにポイントしているかという情報です。
それは以下を実行して指定します。

  • ファイルパス ... onfile
  • パッケージ名 ... onmod
  • 関数名 ... onsub

※ ファイルパスはopenの実行によって、更新されます。
※ 関数の中にいない時は、何も指定せず実行します。

4. 情報を取得する

以下を実行してサーバから補完/ヘルプ情報を取得します。

※ 与えるPerlコードは完全/不完全を問いません。実際のファイルに記述されているかどうかも問いません。

5. ファイルを更新する

ファイルが更新されたら、それをサーバにも伝える必要があります。
それには、以下の方法があります。

  • 実際のファイルが更新されたら、updateを実行する。
  • 実際のファイルはまだ更新されていない場合、codeaddを実行する。

その他目的別コマンド一覧


サブコマンドのヘルプを表示します。
引数無しの場合、サブコマンド一覧を表示します。

サーバプロセスを開始します。

サーバプロセスを停止します。

サーバプロセスの状態を表示します。

サーバの種類

  • Main Server ... 補完/ヘルプの提供。
  • Work Server ... ライブラリの検索やソース解析などのタスク管理。
  • Resolve Server ... 個々のモジュール/ファイルの解析結果の集計。

サーバの状態

  • Running ... 起動済み。クライアントの要求待ち。
  • Busy ... 起動しているが、何らかの処理を行っていて応答できない状態。
  • Not Running ... 起動していない。

起動中に蓄積された不要なキャッシュなどを消去し、サーバプロセスをリフレッシュします。

指定されたモジュール/ファイルが未解析の場合、解析を開始します。
解析は未解析のモジュールに対して、再帰的に実施されます。

指定されたモジュール/ファイルが解析済みでも、解析を開始します。
解析は未解析のモジュールに対して、再帰的に実施されます。

指定されたモジュール/ファイルの解析結果を削除します。

全ての解析結果を削除します。

指定されたモジュール/ファイルが解析済みであるかどうかを表示します。
引数が指定されない場合、解析済みのモジュールの一覧を表示します。

  • Yes ... 解析済み。
  • No ... 未解析。
  • Not Found ... 存在が確認できない。

サーバプロセスから起動され、実行中のタスクプロセスを表示します。

サーバのタスク

  • build モジュール名/ファイルパス ... モジュール/ファイルのソース解析中。
  • find プロジェクト名 ... インストールモジュール/プロジェクト固有モジュール検索中。

サーバプロセス上の実行待ちのタスクを表示します。

モジュールのPerlDocを表示します。

メソッドのヘルプを表示します。
モジュールに属する場合は、モジュール名が必要です。

変数のヘルプを表示します。
モジュールに属する場合は、モジュール名が必要です。

与えられたコードから特定されるコンテキストについてのヘルプを表示します。

最後に実行したassistの結果の補完候補についてのヘルプを表示します。

与えられたコードに続くことが可能な候補を表示します。

与えられたコードから特定されるメソッドについての情報を表示します。

与えられた正規表現にマッチするパッケージの構造を表示します。
未指定の場合は、全パッケージの構造を表示します。

ファイルパスを現在のロケーションに設定します。

モジュールを現在のロケーションに設定します。

メソッドを現在のロケーションに設定します。

現在のロケーションを表示します。
ロケーションは、Perlコードを与えるコマンドにおいて、その実行結果に影響します。

与えられたコードを現在のロケーションに追加します。
解析の再実行は、ファイルが更新された場合に必要になりますが、そのコストは軽くないため、 ファイルを保存するまでのコード変更による解析結果の変動をリアルタイムに取り込むためのコマンドです。

※ 本コマンドの解析結果は保存されません。serverstop/refreshで消去されます。

設定ファイルを更新します。
logfile/loglevelを設定する場合は、直接ファイルを編集して下さい。

モジュール/ファイルに関する解析結果を表示します。

解析で得られた代入情報の内、正規表現にマッチするものを表示します。

解析で得られたルーティングの内、正規表現にマッチするものを表示します。

与えられたコードから得られるPPIドキュメントを表示します。

対象サーバのログ出力を指定されたレベルに変更します。
レベルに指定できる値については、Log::Handlerのヘルプを参照して下さい。
対象サーバに指定できる値は以下のどれかです。

  • main ... Main Server のみ
  • work ... Work Server のみ
  • resolve ... Resolve Server のみ
  • all ... 全サーバ

未指定の場合は、クライアントプロセス(plsenseコマンドのプロセス)が対象になります。

Clone this wiki locally