问题标签 [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.
c - gtksourceview 中的代码折叠
我在https://live.gnome.org/GtkSourceView上看到“我们现在可以使用 gtk+ 2.8 支持 GtkSourceView 中的代码折叠”。然而我在任何地方都找不到任何例子。准备好使用了吗?有没有可以提供的例子来让事情顺利进行?
我已阅读错误报告,并已通过电子邮件向 Bijan Binaee 提供帮助,但没有收到任何回复。任何人有任何见解?谢谢。
python - 使用 GTK3 SourceView 突出显示语法
如何在GtkSourceView
使用 GTK3 时启用语法高亮?我下面的代码不起作用。
给出错误:
AttributeError:“TextBuffer”对象没有属性“set_language”
python - GtkSourceView 使用 Gobject Introspection 滚动到行 [python]
我已经使用 Gobject Introspection 成功创建了一个 python GTK 应用程序,并在 GTKSourceView Widget 中打开了一个源文件。
当用户单击按钮时,我试图滚动以将特定行(第 150 行)放置到屏幕的中心。
我已经阅读了如何(以编程方式)滚动到 gtktextview/gtksourceview 中的特定行
以及围绕 GtkSourceViews、GTKTextView 和这两者的缓冲区对象的文档(据我了解,sourceview 继承自 textview)
我尝试使用以下方法:
- 在第 150 行获取一个迭代器,然后使用 scroll_to_iter() 方法 - 在第 150 行获取一个迭代器,在迭代器处做一个标记,然后使用 scroll_to_mark() 方法
我知道迭代器和标记是正确的,因为我可以成功使用 place_cursor(iter) 方法,并且它成功地将标记放置在第 150 行的末尾,但是使用给定方法滚动到标记或迭代器什么都不做。
滚动到标记方法不返回值,但迭代器方法返回 false。
谁能建议一种方法来实现这一目标?
我的测试代码如下:
python - 在 gtksource.view 中搜索并突出显示?
Gedit 使用搜索突出显示。我知道 Gedit 使用 gtksourceview,并且想知道该搜索机制是如何实现的。
regex - 如何将数字与 GtkSourceView 语言规范中的可选字母后缀匹配?
我正在编写一个新的 GtkSourceView 语言规范;遵循教程和其他 Internet 资源中的信息。我定义的语言可以是一个数字:
- 一个或多个
digit
字符- 可选附加(例如在末尾)字母
L
,l
,N
, 或n
.
例子:
请注意,这只是几个可能的定义之一。
到目前为止,我已经写过(大约(省略定义的其他部分)):
我将其解释为: _Anumber
以一个或多个数字字符开头,可选地后跟任何以下:N
n
l
L
,并在遇到非数字数字(例如空格,字母)时结束。
不幸的是,这不太奏效,因为附加任何指定的字符(或任何字符)都会导致它失败(在这种情况下,这意味着不突出显示。)
关于如何匹配这种模式的任何想法?提前致谢!:)
xml - 在 GtkSourceView 中使用重叠模式
有谁知道是否有办法在 GtkSourceView 3 XML 语言文件中指定重叠模式?例如,在下面的文本中,有没有办法以一种颜色突出显示foo和bar之间的“一些文本...”和另一种颜色的bar和baz之间的“一些更多文本...” ?这里的问题是bar是一个上下文的结束,也是另一个上下文的开始,这意味着bar-baz上下文永远不会应用。
regex - gtksourceview 关键字转义
在我的语言中,关键字是文字#list-empty?
,所以我想与之匹配。我正在使用 gtksourceview 提供语法高亮,并使用以下定义
<keyword>list-empty?</keyword>
但是,这匹配list-empt
and list-empty
(但不匹配文字list-empty?
)。对我来说,这表明 gktsourceview 将其中的内容<keyword>
视为正则表达式。所以我想逃避?
并从字面上匹配它。然而,类似的东西:<keyword>list-empty\?<keyword>
根本不起作用。
https://github.com/espringe/wisp/blob/bf1aed13/resources/wisp.lang#L67
那么我如何逃避?
并与之匹配
gtk - gtksourceview 撤消,撤消超出预期
我正在编写一个文本编辑器,我似乎不了解有关 gtksourceview 和撤消的内容。我希望撤消操作在每次调用时撤消单个操作,但它似乎想做的不止于此。
这是一个例子:
我输入两行:
第一行
第二行
然后我先上去删除“r”,然后按 ctrl+z 执行撤消。这是什么结果:
第一行
第二
文档说:
动作被定义为调用 gtk_text_buffer_begin_user_action() 和 gtk_text_buffer_end_user_action() 之间的操作组,或同一行上的类似编辑(插入或删除)序列。
我看不出恢复“r”和删除“line”这个词是如何“在同一行上进行类似的编辑(插入或删除)”。
点击撤消非常令人迷惑,并且必须记住点击重做,因为撤消的操作比预期的要多。其他编辑不这样做,所以我只是执行错了吗?
这是我的撤消代码: GtkSourceBuffer *sbuffer;
gtk - gtksourceview-3.0 中的 gtk_source_iter_forward_search 发生了什么
我查看了GtkSourceView 3 Reference Manual,并且搜索了一段时间,但我找不到任何关于 gtk_source_iter_forward_search 为何从 gtksourceview 中删除或应该改用的内容的提及。
我还查看了 gtksourceview 网站上的功能链接,它作为功能列出:Caseless UTF-8 compliant search。
我查看了 gedit 源版本 3.2.6(因为我知道他们使用 gtksourceview),但他们似乎正在使用 gedit_document_search_forward,我猜它来自其他一些库。所以我的问题是,gtksourceview 中的搜索功能发生了什么变化?是否有另一个库提供与 gtk_source_iter_forward_search 类似的功能,还是现在在 gtksourceview 中以另一种方式完成?
我最初在 gtksourceview-2.0 中编写我的编辑器,现在我正在使用 gtksourceview-3.0 重写它,并且我已经建立了基于 gtk_source_iter_forward_search 函数的搜索转发功能。
谢谢。