CodeMirror6 でタブでインデントできるようにする

CodeMirror6 でタブをサポートするには https://codemirror.net/examples/tab/ を参考に設定すれば良い。

import {basicSetup} from "codemirror"
import {EditorView, keymap} from "@codemirror/view"
import {indentWithTab} from "@codemirror/commands"
import {javascript} from "@codemirror/lang-javascript"

const doc = `if (true) {
  console.log("okay")
} else {
  console.log("oh no")
}
`

new EditorView({
  doc,
  extensions: [
    basicSetup,
    keymap.of([indentWithTab]),
    javascript()
  ],
  parent: document.querySelector("#editor")
})

さて、これを調べた理由は Blog3 では CodeMirror6 を使っているから。

よって、以下のような Pull-Request を出して、適切にタブキーでインデントされるようになって快適にブログ記事の編集が可能となった。 https://github.com/tokuhirom/blog3/pull/762

Published: 2024-12-12(Mon) 22:34