タグ付けされた質問 「syntax-highlighting」

テキスト、特にソースコードを、さまざまな用語の意味に応じてさまざまな色やフォントで表示する機能です。

1
ECMAScript 6で使用するモードはどれですか?
より最近のecmascriptのための構文ハイライト(そしておそらくそれ以上ですが、これは私が望んでいる最小のものです)があるモードはそこにありますか?テンプレート文字列とジェネレーター関数をサポートしているものに特に興味があります。 これは正しくレンダリングされるはずです: co(function*(){ var a = yield request(`some.domain/${variable}`) return a; }

2
構文テーブルを別の構文テーブルにネストするにはどうすればよいですか?
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 …

1
メジャーモードの単純な構文テーブルを作成するにはどうすればよいですか?
構文テーブルのしくみを理解しようとしていますが、最小限のメジャーモードでは何も強調されません。 私は次のelispを書きました。 (defconst my-yaml-mode-syntax-table (let ((table (make-syntax-table))) (modify-syntax-entry ?# "<" table) (modify-syntax-entry ?\n ">" table) table) "Syntax table for `my-yaml-mode'.") (define-derived-mode my-yaml-mode fundamental-mode "My YAML" "testing" :syntax-table my-yaml-mode-syntax-table) ただし、ファイルが与えられた場合: # foo # bar baz でメジャーモードをアクティブにしてM-x my-yaml-modeも、強調表示されません。C-u C-x =は、面が適用されていないことを示しています。

1
文字列/引用符内の特定のキーワードを強調表示する方法は?
VIMの文字列内(引用符内)のSQLキーワードを強調する別の構文があります。次のようになります。 次に、PHPモードのEmacsでは、引用符(')の間のすべてがフォントロックによって文字列と見なされます。 ご覧のとおり、別のフォントフェイスプロパティ(筆記体キーワードなし)を使用した最初の例はより明確です。キーワードは区別がはるかに簡単です。 font faceプロパティを調べているとき: (font-lock-string-face ((t (:foreground "#536991" :slant italic)))) 次に、特定のキーワードに一致する場合、の中に別の顔をfont-lock-string-face適用する必要があるとどうしてわかるのかと思います。 任意の提案をいただければ幸いです。

2
clone-indirect-buffer-other-windowで構文の強調表示が失敗する
私は通常、Pythonコードをpythonモードで編集するときに間接バッファーを使用し、を実行してそれらを作成しますclone-indirect-buffer-other-window。メインバッファーの構文の強調表示は問題ないように見えますが、間接バッファーでは正しくない場合があります。具体的には、一部の終了引用符が無視され、コードの大きなチャンクが長いリテラル文字列の一部であるかのように色付けされているようです。 私はこれについて他の場所での言及を見つけていませんし、なぜそれが起こりうるのか手がかりもありません。これがなぜであるか、および/またはそれを解決する方法を誰かが知っていますか? この質問は関連している可能性があります。彼が間接バッファに言及していないため(私はそれらにのみ問題があります)、また、間接バッファは数分待っても適切な構文強調表示に更新されません。

1
python-modeが時々すべてを文字列としてハイライト表示しないようにするにはどうすればよいですか
私python-modeは自分のPythonコードに使用しています。構文ハイライターが時々混乱し、バッファー内のすべてが文字列リテラルであると思います。これは通常、docstringを作成するときに発生するようです。引用符を入力してから数秒間、カーソルの後のすべてが文字列として強調表示されます。 これを完全に防ぐ方法はありますか?または、そうでない場合、emacs / python-modeをより迅速に回復させる方法はありますか? ed:明確にするために、引用符が閉じられてバッファが保存された後でも、誤った強調表示が持続します。しかし、これは毎回ではなく、時々です。

1
メジャーモードを変更せずに構文の強調表示を変更しますか?
python-shellを起動したいM-x python-shell。構文の強調表示に不満がある場合、メジャーモードを変更せずに構文を強調表示する(バッファーに色を追加する)ことはできますか?vimでは、これはで簡単set filetype=pythonです。 Python構文自体はpython-shellモードでは強調表示されません。強調表示してください。 私はemacsについて学習しているだけなので、簡単な解決策が好まれます。

1
改行を挿入すると、syntax-propertize-functionで強調表示が中断されるのはなぜですか?
三重引用符で囲まれた文字列を強調表示するメジャーモードを記述しようとしています。次に、最小限の再現可能な例を示します。 (defconst demo-triple-quoted-string-regex (rx "\"\"\"" ;; After the delimiter, we're a sequence of ;; non-backslashes or blackslashes paired with something. (*? (or (not (any "\\")) (seq "\\" anything))) "\"\"\"")) (defun demo-stringify-triple-quote () "Put `syntax-table' property on triple-quoted strings." (let* ((string-literal (match-string 0)) (string-start-pos (- (point) (length string-literal))) (string-end-pos (point))) (unless …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.