javascript-modeで 行の先頭が$なんかのとき インデント1つ分ずれる。
function hoge() {
fuga();
$('hoge').empty();
}
これは、modify-syntax-entryかなと思ったら
効かず。
javascript-mode-hookで
(setq c-echo-syntactic-information-p t)
するもエコーされない。
javascript.elを読むと この人はindent-line-functionを cc-modeのをつかわず 自分で実装していた。
ずれる原因は
(let ((p (parse-partial-sexp (point-min) (point)))
(brace-p (looking-at "[{}]"))
(continued-expr-p (looking-at "[[:punct:]]")))
の
(looking-at "[[:punct:]]")
の部分で
表示可能な記号文字が先頭のとき
余分にインデントされるようになっていた。
(let ((p (parse-partial-sexp (point-min) (point)))
(brace-p (looking-at "[{}]"))
(continued-expr-p (and (not (looking-at "['$_]"))
(looking-at "[[:punct:]]"))))
と['$_]のときはcontinued-expr-pと解釈されないようにして 修正。
コメント(0):
コメントを投稿