问题标签 [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.

0 投票
1 回答
74 浏览

python - 从 GtkSourceView 上的选项卡空间更改标记/图标

如何更改(如果可以)这些图标/标记?我找不到任何关于此的文档!

在此处输入图像描述

我正在使用 python 和自定义方案样式,但任何想法都可以提供帮助

0 投票
1 回答
245 浏览

gtkmm - gtkmm 应用程序中的 GtkSourceView

我想将 Glade 文件加载到简单的 Gtkmm 应用程序中。这是我的代码:

但它不起作用(它捕获了错误,表示 GtkSourceView 对于 Gtk::Builder 是未知的)。然而,在 Glade 中,文件可以在没有错误的情况下打开并编辑,显示“正常”GtkSourceView。

经过一段时间的谷歌搜索,我发现 SourceView 的类型必须“在 glib 的类型系统中注册”,但在 C++ 中没有办法做到这一点,只有在 Python 中。

那么,应该如何修正呢?提前致谢!

0 投票
1 回答
80 浏览

user-interface - 如何在没有可见闪烁的情况下在 GtkSource.View 中的特定行打开文件?

我需要在 GtkSourceView 中打开文件并滚动到特定的行。作为一种调试器 gui,它需要经常执行此活动(在切换堆栈帧时),没有瞬态伪影 - 内容的可见重新调整和闪烁。目前,我正在使用以下方法:

使用这种方法会出现明显的闪烁。在上面的 __source_resize 中放置 1s sleep 表明 GtkSourceView 在几遍中得到重新调整(在源突出显示之前和之后可见地绘制,以及一些额外的验证。)

是否有另一种方法可以强制 GtkSource.View 计算行高并执行验证而不在屏幕上绘图,或者在我设置缓冲区内容时强制它立即计算行高而不稍后将其推迟到空闲作业?如果不是,大约需要覆盖多少 GtkSource.View 控件才能获得所需的行为?

注意:我尝试使用 Gtk.Stack 在不可见的“后”视图中完成工作,并在稍后使用 Gtk.idle_add 使其可见,但我的印象是视图的可见性是行验证的关键。至少到目前为止,它没有提供预期的结果。

0 投票
1 回答
93 浏览

gtk - 在其他关键字中嵌入关键字:gtksourceview 中的上下文

我正在 gtksourceview 中为 PARI/GP 编写语法高亮文件。有一个方面让我陷入困境:我只想在另一个关键字中突出显示某些关键字。特别是,我想要一种“登录”突出显示

(其中log表示对数)和另一个在

(这里log指的是日志文件)。这似乎正是<context>设计的目的,所以我写了

但这无声无息地失败了(gedit 根本没有语法高亮显示)。我做错什么了?(是的,我已经在上面定义了字符串、十进制、浮点数和注释多行上下文。)

0 投票
1 回答
179 浏览

regex - Matching entire string in gtksourceview

Take this short XML snippet for defining strings in gtksourceview:

This highlights any instances of "foo" or "bar" inside a string. Suppose I want to highlight these two when they are the entire string, so that "foo" has the middle three characters highlighted but "foobar" is not highlighted at all. Is this possible in gtksourceview?

I tried using anchors ^...$ and lookahead/lookbehind (?<=") / (?=") but the former didn't work and the latter broke the syntax highlighter entirely.

0 投票
1 回答
569 浏览

python-3.x - 相当于 GtkSourceView2 的 Python3 模块

我正在尝试将废弃的Gedit插件代码完成移植到 Python 3。

在原始代码中调用了 Python 2 包:

然后它被一个类继承以执行完成:

我从未使用过 GtkSourceView 或它的完成功能,因此不清楚继承正在实现什么。Python 3中的等效gtksourceview2(或 3)模块是什么?

0 投票
1 回答
65 浏览

frama-c - frama-c gui 警告 Mime type 'text/x-csrc' not found

在跑步的时候

onopen suse 13.1给出警告信息:

[gui] 警告:未找到 Mime 类型 'text/x-csrc'

这可能是什么原因和解决方案?

0 投票
2 回答
524 浏览

themes - 更改 gtksourceview 文件添加样式

我想更改降价文件的列表标记GEdit在主题中的显示方式tomorrow_night-eighties.xml,我从https://wiki.gnome.org/Projects/GtkSourceView/StyleSchemes下载了该主题。我知道 GEdit 从

降价语言文件是markdown.lang. 样式位于我的用户目录中:

我所做的是以下内容:

  1. 我添加:<style name="markdown:list-marker" foreground="#cc99cc" bold="true"/>到样式文档中的可用样式列表中。在我的用户.local/share/....文件夹中。

  2. 我更改了语言规范:

    <style id="list-marker" _name="List Marker" map-to="markdown:list-marker"/><styles>...</styles>区域/标签中,以使其可用于进一步向下引用。

我的主题设置为我的主题,tomorrow_night-eighties.xml~/.local/share/gtksourceview-2.0/styles打开了一个降价文件。更改后 GEdit 不再突出显示列表标记。

我不明白的是,缺少什么?我只更改了参考并引入了新样式,根本没有更改正则表达式,那为什么会阻止它突出显示呢?

0 投票
0 回答
111 浏览

regex - GTKSourceView 语言 Markdown HTML 注释

我已经从Jean-Philippe Fleury为 markdown 编辑了 gtksourceview 语言文件。这是我的改进版本:https ://gist.github.com/ZelphirKaltstahl/de2b725ef5adba0a150dd27a5f7b66dc

这个使用markdown特定样式,我在一个也编辑过的样式文件中定义了它:https ://gist.github.com/ZelphirKaltstahl/f45be7bcedbc895df2439dd252d28c7b

这些文件我用于 GEdit。

但是,我还真的不满意。有这些properties用于定义评论在meta data. 它们已经匹配 html 注释,但是tommorow_night-eighties主题使用了一些颜色的注释,我不想在 markdown 文件中使用,但想在其他源代码文件中使用。

我想解决这个问题的想法是为这些属性添加一个减号,希望它们不再匹配 html 注释,并为 html 注释定义我自己的正则表达式并赋予另一种颜色。

在已包含的链接要点中,但不知何故无法正常工作。html 注释仍然根据元数据中的属性匹配和突出显示,我的正则表达式html-block-comment被忽略。

正则表达式是:

我也已经将它包含在降价语法中(在最底部):

并且在 lang 文件的顶部有一个样式定义:

此样式映射到样式 XML 文件,其中我有定义:

所以我想我已经做好了一切,但显然不是这样。

我怎样才能使它只使用我的 html 评论的正则表达式?

0 投票
1 回答
50 浏览

resize - 在调整大小时更改 GtkSourceView 内容

我有一个GtkSourceView带有一些文本的小部件,它工作正常。

当用户调整视图小部件的大小时,我想更改关联文本缓冲区的内容;我无法可靠地做到这一点。首选方法是什么?

SourceView部件位于 a 内GtkPaned,可以通过用户移动拆分器或在容器窗口更改大小时调整大小。