問題タブ [gtksourceview]
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.
gtk - ファイルの MIME タイプの判別
ファイルの MIME タイプを (OCaml で) 判別するにはどうすればよいですか?
GtkSourceView コントロールの言語を設定しようとしていますが、そのためにはまず言語を決定する必要があります。これを行う唯一の方法は、MIME タイプを使用することです。次のように、正しい言語を返す関数があります。
ソースに言語をハードコーディングしたくありません。OCaml で MIME タイプを判別できない場合 (ドキュメントを検索してもまだ方法が見つからない場合)、ソース言語を判別できる別の方法はありますか?
c++ - Glib :: wrapを使用するには、Glib :: init()を何にする必要がありますか?
そのため、GtkSourceViewmmを使用してC ++でGtkSourceViewを利用しようとしています。そのドキュメントとサポートのレベルから、長い間慎重に検討されていなかったという印象を受けます。しかし、私は常に楽観主義者です:)
次のようなコードを使用してSourceViewを追加しようとしています。
残念ながら、それは警告を吐き出します
(algoviz:4992):glibmm-警告**:タイプ'GtkSourceLanguage'のオブジェクトをラップできませんでした。ヒント:このエラーは通常、ライブラリのinit()関数の呼び出しに失敗したことが原因で発生します。
デバッガーでそれを見ると、実際、上の2行目(が付いている行Glib::wrap()
)はを返してNULL
います。これがなぜなのかはGlib::init()
わかりませんが、プログラムの冒頭に追加して警告に注意を払おうとしましたが、それもまったく役に立たなかったようです。
私はグーグルを試してみましたが、失敗しました。そのラップコールを実行できるようにするために、Glibが私に初期化を求めていることを誰かが知っていますか?または、さらに良いことに、GtkSourceViewmm(通常のGtkSourceViewだけでなく)を使用する実用的なサンプルコードを知っている人はいますか?Googleコード検索でも、実際のサンプルコードを見つけることができませんでした。
ありがとう!
django - gtksourceview (gedit 用の Django のテンプレート言語) に新しい言語を追加します。
新しい言語を gtksourceview (gedit で使用) に追加する際に問題が発生しました。
Django のテンプレート言語を追加したいのですが、何かがうまくいきません: %}でシンタックス カラーリングを停止
させることができません。
ここにスニペットがあります:
このスニペットは私のコードを正しく色付けしますが、 %}で止まりません。%}の後も色づき続けているので何かおかしい。
動作しているスニペットを作成しました:
それは非常にうまくいっています。
{{と}}は機能しますが、%}は機能しません。
HTML エンティティとバックスラッシュ (\) を使用してみましたが、機能しません。
誰かが何が問題なのか知っていますか?
ありがとう。
gtk - 基本的なコードをオートコンプリートするにはどうすればよいですか?
GTKとgtksourceview2.0で簡単なコードエディタを作成しています。エディターにコード完了ウィンドウを追加したいと思います。10〜15個のキーワードが必要です(常に同じ)。
誰かが私にいくつかのチュートリアルのURLを教えたり、gtk_source_completion_XXX関数の使用法を説明したりできますか?
gtk - c gtk+: GtkSourceView の TextBuffer にテキスト ファイルをロードする
gtk+ および gtksourceview-2.0 で C 言語を使用してプログラムを作成しています。
ユーザーがファイルを選択するために GtkFileChooser を使用しています。ユーザーがファイルをクリックすると、コンテンツが GtkSourceView の TextBuffer に読み込まれます。
これは、ユーザーが GtkFileChooser でファイルをダブルクリックしたときに実行される関数です。
これは私のアプリケーションの出力です:
その後、コマンド gtk_text_buffer_set_text でセグメンテーション違反が発生します
ご覧のとおり、コメント アウトされた 2 つのコマンドがあります。文字列の末尾にゼロを追加しなかったため、明らかにセグメンテーション違反を引き起こすバッファを g_debug しようとしました。文字列の末尾にゼロを追加しようとしても、セグメンテーション違反が発生します。私はおそらく何か間違ったことをしました。
ここでは、バッファの最初の 2 文字だけを書き込もうとしていますが、うまくいきません。
何か案は?
アップデート
完成した関数:
c - C Gtk+2 Glade3: Glade からロードされた GtkSourceView に SourceBuffer を設定するにはどうすればよいですか?
GtkSourceView
.c ファイルをウィジェットにロードしようとしています。
Gtk+ 2.22.1 および Glade 3.6.7 および GtkSourceView 2.10.1 で C 言語を使用。
SourceView
Glade UI では、 aを保持するようにしか構成できないことに気付きましたTextBuffer
。コンポーネントが見つかりませんでしたSourceBuffer
。そこで、SourceView
デフォルト バッファなしで in Glade を作成しました。SourceBuffer
ここで、 をコンポーネントのバッファに設定したいと思いSourceView
ます。
gtk_source_view_new_with_buffer()
を にアタッチするために私が見つけた唯一の方法SourceBuffer
ですSourceView
。問題は、この関数が を作成していて、Glade で作成済みのビルドSourceView
に をアタッチしたいことです。どうやってやるの?SourceBuffer
SourceView
表示するコードがないため、コードを貼り付けませんでした。SourceView-2
いくつかの UI コンポーネントと ID を持つコンポーネントを含む Glade ファイルを作成しましたgtk_sourceview
。
C ファイルでは、SourceView コンポーネントをフェッチします。
欠けているのは、 を作成してコンポーネントSourceBuffer
にアタッチする方法です。SourceView
ありがとう!
更新: 私は使用してみました:
しかし、次のアサート エラーが発生しました。
これを解決するにはどうすればよいですか?
ありがとう!
gtk - 複数の GtkSourceView 間で取り消し履歴をリンクする
いくつかの GtkSourceView ウィジェットを含むアプリケーションがあります。メイン インターフェイスは、複数の「セル」を含むシートです。それぞれが GtkSourceView です。GtkSourceView には元に戻す機能が組み込まれていますが、各ウィジェットには独自の「元に戻すスタック」があります。シート全体で同じ元に戻すスタックが必要です。
例: 最後の編集が SourceView A で行われ、最後から 2 番目の編集が SourceView B で行われたとします。どの SourceView にフォーカスがあるかに関係なく、最初に Ctrl-Z を押すと A の変更が元に戻り、2 回目に押すと元に戻ります。 Bの変化。
複数の SourceView ウィジェットを保持しながらこれを達成できる方法はありますか、それともこのタイプの取り消し機能を自分で実装しようとする方がよいでしょうか?
注: シート全体を単一の SourceView 内に配置しようとするのは、あまりにも不格好だと思います。また、私はPythonを使用しています。
syntax-highlighting - gedit での lex の構文強調表示
のようなファイルが必要なのはわかっています/usr/share/gtksourceview-2.0/language-specs/javascript.lang
。このような lex の言語定義はどこにありますか?
syntax-highlighting - Geditハイライト(gtksourceview):[中括弧]内のブロックを色でハイライトする方法
中括弧内にあるコードのブロック全体を強調表示する必要があるため、ルールを作成しました。
内部のコード、キーワード、変数が正しく強調表示されますが、内部に別の閉じ中括弧がある場合はもちろん停止します。正規表現が再帰のレベルをチェックするのは簡単ではないことを私は知っていますが、gtkSourceView
構文はこのような場合に特別な何かを持っているのでしょうか?
私が強調表示している言語(実際にはPegJS)は、JavaScriptコードを中括弧の内側にのみ含めることができ、外側には含めることができないため、これは深刻なことです。そして、私はそれらを1色の除外で強調したいと思います:)
関連している:
fedora - gtksourceview が原因で、fedora 16 で Java-gnome バインディングを構成およびインストールできない
Fedora 16 を実行しているデスクトップに Java-gnome 開発バインディングをインストールしようとしています。動作するための依存関係の 1 つは 'gtksourceview'>=2.91 です。yum リポジトリからインストールしようとしましたが、ソース コードをコンパイルしても、java-gnome パッケージの './configure' を実行すると、どれも受け入れられませんでした。
出力は次のとおりです。
必要なシステム ライブラリを確認します。 - Cairo が見つかりました
GLib が見つかりました
GTK+ が見つかりました
パンゴ発見
RSVG が見つかりました
ATKが見つかりました
GtkSourceView が見つかりません!