この方法でエディターに読み取り専用行を設定します。
editor.on('beforeChange', function(cm, change) {
if (~readOnlyLines.indexOf(change.from.line)) {
change.cancel();
}
}
readOnlyLines は、読み取り専用にする行数を含む配列です。
問題は、下に読み取り専用の行がある編集可能な行にいるときに、「Del」を押すと、読み取り専用の行が上向きになり、編集できることです。
上に読み取り専用の行があり、「BackSpace」を押すと、同じことが機能しません。
同時にチェックするifを追加する必要があると思います:
- Delが押されました(キャッチイベントを使用しました)
- 以下の行は読み取り専用です (上記のコードの if で行ったのと同じ方法で行いました)
- カーソルが行末にある(特定の機能はありますか?)