問題タブ [font-lock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - font-lock 新しいキーワードを追加した後に色がありません
ctags ファイルに基づいて C/C++ プロジェクトの強調表示を改善しようとしています。だから私はこれを作成しました:
しかし、このコードを実行した後、ハイライトがまったく表示されません。
上記のコードのどこに間違いがあるか知っている人はいますか?
emacs - font-lockの規則を指定するEmacs
学んでいる解析技術を実践しています。Emacs でプログラミング モードを作成しようとしているので、構文の強調表示などを利用できます。残念ながら、フォントロックは機能していません。Google で検索し、そこで見つかったチュートリアルに従っても、結果は得られませんでした。以下は私のコードです。アドバイスをいただければ幸いです。
emacs - emacs 派生モードでの「特別な」コメントに対する異なるフォントロック スキーム
prog-mode から派生させて Emacs メジャー モードを定義しています。フォントロックは、次の 1 つの点を除いて機能します。
通常のコメントに使用されるフォントとは異なるフォントを使用して、特別なリンカー ディレクティブを含む特別なコメント タイプを強調したいと思います。通常のコメントは「;」で始まります 一方、リンカー ディレクティブの形式は ";<...directive...>" です。もちろん、文字列内のテキストをコメントと誤認してはなりません。
私がこれまでに持っているものは次のとおりです。
問題は、構文テーブル エントリを使用すると、このメカニズムが ; で始まるすべてのものを分類することです。コメントとして。したがって、リンカ ディレクティブ regexp はもはや有効ではありません。
どうすれば望ましい動作を実現できますか? 後続の文字をチェックできるパターンが必要なようです。しかし、コメント検出に構文テーブルを使用することは、文字列を正しく処理するので良いように思えます。
より一般的には、emacs/elisp の「アーキテクチャ」を説明するドキュメントに興味があります (たとえば、モードと、フォントロックで機能する操作のシーケンス。バッファの相互作用についても同様です)。私は素晴らしい elisp リファレンス マニュアルを持っていますが、これらのトピックの概念的な紹介を見逃しています。私は emacs elisp イントロを読みましたが、あまりにも「チュートリアルスタイル」で、非常に長く、反復的で、体系的なカバレッジが欠けているため、好きではありませんでした。たとえば、バッククォートに関する文はありませんでした。また、プログラミングの経験がまったくない人にも対応しているように見えましたが、それでは elisp から始めますか?
javascript - JavaScript の emacs font-lock-mode: 「this」のように「self」を強調表示したい
this
クロージャーで上書きされないようにしなければならないことが多いのでvar self = this;
、コンストラクターの先頭で行うのが好きです。self
次に、 が現在どのように、いつ強調表示されているかを正確に強調したいと思いthis
ます。ただし、ここで emacs のドキュメント、Web サイト、および例を調べ、例を適応させた後、機能しません。私はこの表現を評価しています:
.emacs
私のファイルとJavaScriptバッファの両方で、またfont-lock-mode
強制的に更新するように切り替えます。紛らわしい構文でバリエーションを試しました"\\<self\\>"
が、それも失敗するため、明らかにダーツを投げています。私は多くのバリエーションを見ますfont-lock-add-keywords
が、Emacs のパワー ユーザーであり、開発者ではないので、ビザンチンのようです。
コンテキストとして、これは端末ではなく、ネイティブの Mac OS X 10.11.5 アプリとして実行されている GNU Emacs 24.5.1 です。
elisp - コメントフェイスに特別なフォントロックを追加する方法
コメントを区別したい。string
elisp モードでは、;;! string
強調表示したいです。
ただし、効果的ではありません。
emacs - font-lock は型に対して機能しません
_st
サフィックスを持つすべてのキーワードを異なる色で強調表示したい。
で試してみましたがprepend
、同じ結果です。
emacs - 派生モード sh-mode のようなマクロ変数
仕事で常に使用するいくつかのファイルのメジャー モードを作成していますが、マクロを別の色で表示する際に問題が発生しています。問題は、$ 文字を式文字として設定しても、マクロが文字列で発生し、文字列として強調表示されることです。つまり、「$(macro1)」は、マクロではなく、文字列のように強調表示されます。
ここでは、 $ 文字を式の構文として設定し、コメント構文も整理します。
ここでは、構文テーブルとハイライトを設定します。
変更:
emacs - emacs define-generic-mode なぜregexp-optを使用できないのですか?
を使用して構文強調表示用の単純なメジャー モードを作成しようとしていますdefine-generic-mode
。見つけた
動かない。regexp-opt
しかし、 call を手動で計算された結果に置き換えると、すべてが期待どおりに機能します。
では、なぜregexp-opt
call をモード定義に入れることができないのでしょうか?
編集
Lindidancer の回答からの引用されたリスト内の項目の強制評価に関するヒント:
役に立たない: モードの起動時にエラーは発生しませんが、強調表示もありません
list
関数を使用してリストを形成することに関する 2 つ目のヒント:
モードのアクティブ化でエラーが発生します:(invalid-function (regexp-opt (quote ("int" "string" "bool"))))
評価しようとしたときの同じエラー:
スクラッチ バッファ内。
編集1
エラーも強調表示もありません。
編集2
私が正確に行う手順は次のとおりです。
- バッファ
define-generic-mode
内で呼び出しを実行*Scratch*
- テスト中のいくつかのキーワードでバッファに切り替えます
M-x mytest-mode
emacs - emacsで、列の値に基づいてCSVの行を色付けする方法は?
データ分析に使用する emacs のメジャー モードを作成しました。このモードは私にとってはうまく機能しますが、単調で、本来の方法で色を利用していません。分析中のデータは CSV 形式で、列の値に基づいて行を色分けしたいと考えています。
次のファイルが CSV 形式であるとします。
この CSV の行は、4 列目の値に基づいて赤で色付けされ、赤の強度は同じ値で増加する必要があります。したがって、この場合、最後の列は最も強い赤で、最初の列は最も赤くないはずです。
Search Based Fontificationを読みましたが、facespec を適切に設定する (matcher . facespec) をどのように記述するかについて少し混乱しています。facespec は、次のように評価される式です。
しかし、これを CSV の 4 列目の値に依存させるにはどうすればよいでしょうか? 4 番目の列の値が一致するものだと思いますが、使用される顔を一致する値の大きさに関連付けるにはどうすればよいですか? 一致した値に基づいてその場で顔を生成する必要があると思いますが、その方法がわかりません。
何か案は?簡単な例が最適です。