问题标签 [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.
regex - 在 gtksourceview 中通过制表符分隔的列突出显示语法
我正在为所有.bed文件编写语法高亮文件。每列的确切内容可能会有所不同,通常如下所示
到目前为止,我有第一列选择和链工作:
床.lang
我想对此进行扩展,以便根据我可以定义的方案对每一列进行不同的格式化。即坐标是一种颜色,名称是另一种颜色,分数是另一种颜色。问题是坐标和分数等都是数字字符串。
我能看到的“最简单”的解决方案是一个可以选择列的正则表达式,如果选择更大,则列数不返回任何内容(不环绕行)。
反向搜索似乎不起作用(因为正则表达式中的“>”字符。我尝试过但表现不佳的一些正则表达式是:
建立迭代匹配并以不同方式格式化是行不通的。多次选择相同的字符串会导致所有语法高亮失败。
/li>选择“数字字符串”
/li>
我将继续破解一个丑陋的解决方案,但我想知道是否有一些我没有想到的优雅的东西。
c - GtkSourceView/ GtkSourceBuffer - 如何用红色标记一行并显示一个图标
我想将 GtkSourceView 中的一些文本标记为红色并显示一个图标。这是我目前的尝试,似乎什么也没做:
printf 打印正确的行号。
如果我两次调用该方法,gtk 会打印一些 gtk-critical:“Mark myMark 已存在于缓冲区中”。
然而,在 gtksourceview 上根本没有明显的变化。
可能我应该做些什么gtk_source_mark_attributes
来更改特定类别的属性?但是如何?我找不到任何关于如何使用它的好信息。
c - gtkSourceView - 查询工具提示文本的使用
我想在我的 gtkSourceView 上使用回调“query-tooltip-text”。我使用以下方法将回调连接到信号:
这很好用.. 每当显示工具提示时,都会调用我的方法。...->message
是一个永久保存在内存中的 c 字符串。这是我的回调方法:
gtk3 源文档统计我应该控制字符串的生命周期并在完成后释放它,我认为应该没问题。
但是,我的回调在第二次调用后因双自由段错误而失败:
与官方文档中的说法完全不同,看起来 gtk3 在使用后释放了字符串的内存。我试图像这样修改我的回调:
效果很好,但是我担心我的应用程序现在会吃掉内存。你知道query-tooltip-text
回调的正确用法是什么吗?
gtk - 如何在 Gtk SourceView 中使用自定义语言高亮语法?
我正在尝试创建自己的语言定义,并将其用于突出显示我的应用程序中的语法。
我遇到的问题是,当尝试从我的应用程序的数据文件夹 ( /usr/share/myapp/
) 访问语言定义时,即使使用从c.lang
复制的文件/usr/share/gtksourceview-3.0/language-specs/
,只是为了测试,我在运行时收到此错误:
所以它要求一些模式文件?language-specs
所以我继续并从不是文件的文件夹中复制了每个文件lang
,其中包括language.dtd
:language.rng
和language2.rng
.
现在,当我再次运行时,出现以下错误:
那有什么意思?那是与命名空间相关的吗?这是非常奇特的,因为完全相同的文件在gtksourceview
文件夹中可以完美运行。
有什么线索吗?这些“RelaxNG”文件是否仅在其原始目录中有效?如果是这样,我该如何改变呢?我查看了这些文件,但没有找到对其原始文件夹的任何引用...
这是与该问题相关的源代码(在 Vala 中):
该应用程序确实找到了语言“c”,我已经通过调试进行了检查。
gtksourceview - 如何在“B”之后突出显示“A”,但不突出显示“B”本身?
假设我想为出现在字符 B 之后的每个字符 A 定义一个特殊样式。如果我这样做?
然后 B 本身被突出显示,这是我不想要的;我只想突出显示 A。我该怎么做?
xml - 语法高亮 gtksourceview,使用另一个 xml 文件?
gedit
我们可以在文件夹中以某种XML file
格式添加我们的语言定义/usr/share/gtksourceview-3.0/language-specs/
,但是我们可以在我们的XML
引用中引用其他XML
文件吗?在我的语言定义中,当它们位于某些特殊字符之间时,我想添加一些脚本(C , Python , Java
...),因为它们已经有一个我只想使用它的 XML 文件。
任何人都有实现这一目标的线索?
https://developer.gnome.org/gtksourceview/stable/lang-tutorial.html
gtk3 - GTK SourceView 滚动以标记不工作
我正在尝试用文本填充 SourceView 的缓冲区,然后滚动以使特定行可见,如下所示:
这会滚动到缓冲区中或多或少的随机位置。我在这里做错了吗?或者这不起作用?
c - GtkSourceGutter - 如何在特定行上呈现图标或文本
我已经插入了自定义 gtk 源排水沟渲染器 pixbuf,我想在特定行上渲染图标。
参考 API 声明该接口与 GtkTreeView 上的接口非常相似,但不适用于树模型。那么......如果 GtkSourceGutter 不适用于树模型,我应该如何将数据呈现到特定行?
我检查了整个库中的每个函数,每个建议的 api 和子对象,甚至没有任何提示。
这没有任何意义。手册页说 GtkSourceGutterRendererPixbuf 用于在 CELL 中显示图标。这样做 gtk_source_gutter_renderer_pixbuf_set_pixbuf(renderer, pixbuf);
将为装订线中的所有单元格呈现图标。如果唯一的方法是使用 cairo 手动绘制 pixbuf ..这些渲染器有什么意义?
如何使用 gtksourcegutterrenderer在特定行中渲染 pixbuf ?
c - gtk_source_mark_attributes_render_icon 的第二个参数
函数的第二个参数应该是什么gtk_source_mark_attributes_render_icon()
它显然是类型GtkWidget*
,根据参考页面,这是
“可以使用哪些样式设置的小部件”
我觉得有点不清楚。
当我打电话时,gtk_source_mark_attributes_render_icon(att, some_random_widget, 40);
似乎什么都没有发生,并且在排水沟中渲染的 pixbuf 小到 10x10 或其他东西。我什至将装订线尺寸设置为 40,因为我最初认为,图像是如此之小,因为装订线的宽度是如此之小。
如何在排水沟中渲染更大的 pixbuf?