構文テーブルを別の構文テーブルにネストするにはどうすればよいですか?
JSONを処理するためのシンプルなモードを作成しました。派生した機構を使用して、json-modeのコードのほとんどを再利用します。ただし、1つの追加として、JSON送信時に評価されるJSONテキストにelispを挿入できます。たとえば、jsonの抜粋は次のようになります。 { "parameters": { "IRC_USER": "stsquad", "PUB_KEY": `(format "\"%s\"" (s-trim (shell-command-to-string "cat ~/.ssh/id_rsa.pub")))` } } 現在、このテキストの構文の強調表示は、elispによってJSON構文のハイライトがスローされるため、壊れています。ネストされた構文テーブルをセットアップして、エスケープ文字内でelispがelispとして正しく認識されるようにしたい(この場合は `を選択した)。char-tables(構文テーブルの作成元)を次のように結合できることを理解しています。 (defvar lava-mode-syntax-table (let ((json-table (copy-syntax-table json-mode-syntax-table)) (elisp-table (copy-syntax-table lisp-mode-syntax-table))) (set-char-table-parent elisp-table json-table) (modify-syntax-entry ?` "(`" json-table) (modify-syntax-entry ?` ")`" json-table) json-table) "LAVA Mode syntax table. This is a combination of json-mode-syntax-table with an …