-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Milestone
Description
現在ディレクティブが使えるフィルターでは共通のparserを使っているため、対応していないディレクティブも有効になる
例えばNGワードで@disableディレクティブは効果はないが、ルールとして解釈されるわけではなくディレクティブとなる
# NGワード
@disable # これは効果がないがディレクティブとして解釈される
rule # 通常のルール
@end
@escape(@disable) # '@disable'というルールを書きたい場合はエスケープが必要
@rule # 予約されていないディレクティブではエスケープは不要
この仕様はどこまでエスケープが必要なのか分かりずらいため、一律して@から始まる行をルールとして解釈しない
つまりルールの先頭に@を使いたい場合は常にエスケープが必要になる
現在は補完もハイライトも各フィルターで利用可能なもののみ行っているが、単純なルールとして解釈されないことを示すためにハイライトの方は利用不可であってもすべての予約語に対して行うようにする
また行頭の@もハイライトする