|
■現段階ではなく、もうちょっとjsmodeの仕様が定まってからでいいかと思いますが、
ファイル系の関数で利用するエンコードや改行等のオプションは
やはり「直接数値を使ってね」ではなく、定義してあったほうが良さそうです。
検索系のやつはどうなのかな...
例えば以下のように定義するなど
(名前空間的なものは) hidemaruGlobal という名前を維持する場合の案
hidemaruFlags = {
}
hidemaruFlags.fileoption = {
sjis : 0x01,
unicode : 0x02, (utf16の方がいいかなー、元と一致してた方がいいかなー、微
妙...)
unicode_be : 0x07,(utf16_beの方がいいかなー、元と一致してた方がいいかなー、
微妙...)
euc : 0x03,
jis : 0x04,
utf7 : 0x05,
utf8 : 0x06,
euro : 0x08,
gb2312 : 0x09,
big5 : 0x0A,
euckr : 0x0B,
johab : 0x0C,
easteuro : 0x0D,
baltic : 0x0E,
greek : 0x0F,
russian : 0x10,
symbol : 0x11,
turkish : 0x12,
hebrew : 0x13,
arabic : 0x14,
thai : 0x15,
vietnamese : 0x16,
mac : 0x17,
oem : 0x18,
default : 0x19,
utf32 : 0x1B,
utf32_be : 0x1C,
binary : 0x1A,
lf : 0x40,
cr : 0x80,
bom : 0x0600,
nobom : 0x0400,
noaddhist : 0x0100,
selection : 0x2000,
ws : 0x0800,
wb : 0x1000
};
hidemaruFlags.searchoption = {
... // searchoption系
// どこまでsearch系の関数同士で共通なのかわかりませんが...
// いかのやつ(値が共通ならいいですが、共通でないなら、...
// 具体的な値はsearchoptionから拾ってくるんだろうけど対応表がよくわから...
ググ
word ...
casesense ...
....
}
hidemaruFlags.searchoptionの方は要るのか要らんのか微妙な感じもしますが、
(単語の方を見てもそれが何指してんのかよくわからんという面もあるため必ずヘル
プ覗く気がするので...)
hidemaruFlags.fileoptionの方はあるとスッキリするだろうなという気がします。
(少なくとも慣れてきた場合に記述も読み取りも速度が段違いになる)
実際の使用シーンとしては、
let fo = hidemaruFlags.fileoption;
let ret = ファイル系の何とか関数( "C:\\abc\\test.txt", fo.bom | fo.unicode |
fo.noaddhist );
別案としては、fileoption 自体はhidemaruFlags以下に公開したりはせず、
HidemacJSGlobalの無名関数内でのみ1箇所で定義しておいて、
openfile など、これらのフラグを使う関数のfileoptionプロパティに同じものの参
照を代入しておく案です。
(HideamruJSGlobal内の)hg.openfile.fileoption = (HideamruJSGlobal内の)fileoption
(HideamruJSGlobal内の)hg.loadfile.fileoption = (HideamruJSGlobal内の)fileoption
実際の使用シーンとしては、
let fo = ファイル系の何とか関数.fileoption;
let ret = ファイル系の何とか関数( "C:\\abc\\test.txt", fo.bom | fo.unicode |
fo.noaddhist );
こちらの利点としては、特定の関数だけfileoptionのenumが変わってしまったり追加
されるという場合でも、特に対応に困らない、ということでしょうか。
(該当関数のfileoptionだけ構成を変えたものに差し替えればよいので)
|
|