Edited at

Paper Plane xUI(PPx)のListFileについて

More than 1 year has passed since last update.

この記事では仮想ディレクトリとして取扱えるListFileを紹介します。


ListFileとは?

公式HELPからの引用です。


先頭に「;ListFile」の一行があるテキストファイルは、その中身を仮想ディレクトリとして取扱うことができます。

また、パスの末尾に「::listfile」が付いているときは、「;ListFile」が無くても仮想ディレクトリとして取扱うことができます。


中に「;」で始まるメタ情報が書かれたテキストファイルで、複数のエントリー情報をこのファイルにまとめる事が出来ます、ファイル/ディレクトリのブックマークという基本的な事や、findコマンドの標準出力をListFileとして吐き出し、エントリー1 として操作するpecoコマンドのような事も出来ます。

(peco代わりの活用法は改めて別記事として書きます)

また、ファイル/ディレクトリ以外にも文字列であれば良いので、スクリプトで拡張して様々な活用が出来る機能となっています。


ListFileのファイルフォーマット

フォーマットはシンプルです、テキストに幾つかのメタ情報が書かれているだけです。

以下のような内容が書かれたListFileの場合

;ListFile

;Base=C:\Users\taro\Desktop
;MyMetaData1=メメタァ
hoge.txt
foo.txt
hello world

開くとも、下記のようになります

listfile.png

「;ListFile」と「;Base」は公式のメタデータですが、独自メタデータも先頭に「;」を付ければ追加する事が出来ます、スクリプトなどで欲しいと思った時にこのメタデータを情報の仮置き場としても利用できます。

また、「hello world」のように単なる文字列もエントリーとして扱えますが、ファイルとして存在しないのでファイル操作系は失敗します、「hoge.txt」や「foo.txt」等の実際に存在するファイルはListFile上でもシームレスにファイルとして扱えます、ただし実際のファイルと内容の同期は自動でされないので、すでにListFile内のエントリーのファイルは存在してないって事もあります、その時はListFileを更新してあげましょう。


終わりに

ListFileは大変便利な機能です、PPxでもWhere is(組み込みの検索機能)でListFileが使われてたりします。

オーソドックスなブックマークとしてだけではなく、GitやLinuxコマンドとの連携にListFileを利用したりも出来ます、それらの例はこの記事以降で紹介したいと思います。





  1. PPx上で操作できファイル/ディレクトリ1つ1つをエントリーと呼びます。