跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

点击“注册GitHub”,即表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

符号树过滤器-改进版 #3055

已合并
将12个提交合并到
2022年1月23日
已合并

对话

技术人员
复制链接
成员

我从中获取了符号树过滤实现#2657并在此基础上应用了一些建议的更改:

  • 对每个文档进行筛选条目
  • 使过滤对案例不敏感
  • 筛选时完全清除了符号树,以确保完全重新创建
  • 使用包含范围的完整标记名进行筛选
  • 在搜索条目中按enter键后聚焦符号树

你怎么认为?

@超高速16
复制链接
成员

除了两个小评论,这太棒了!经过测试,效果很好。
我原以为这需要更多的代码来对每个文档进行筛选,但很高兴被证明是错误的:d。

@elextr公司
复制链接
成员

温和的提示,这是一个UI更改和新功能,因此也需要手动更改。

@技术人员
复制链接
成员 作者

除了两个小评论,这太棒了!

那些在哪里?由于我找不到它们,也许我自己有一句话:-)。

也许我们应该考虑侧栏中的哪个小部件默认获得焦点-现在是条目(树焦点只是一个选项卡进入但主要使用键盘的用户可能更习惯于以树为中心。我自己并不介意,因为我只是用鼠标来画树。

我原以为这需要更多的代码来对每个文档进行筛选,但很高兴被证明是错误的:d。

这里也是,它实际上适用于整个补丁。我考虑这个功能有很长时间了,但我觉得这样做会很烦人,然后看到了拉请求,这个请求非常琐碎,大部分都在工作,所以我被吸引了:-)。

温和的提示,这是一个UI更改和新功能,因此也需要手动更改。

当然,如果它是要合并的东西,我一定会更新它。

src/回调。c(c) 显示已解决 隐藏已解决
src/符号。c(c) 显示已解决 隐藏已解决
@超高速16
复制链接
成员

除了两个小评论,这太棒了!

那些在哪里?由于我找不到它们,也许我自己有一句话:-)。

对不起,我忘了提交我的评论。现在完成了。

也许我们应该考虑侧栏中的哪个小部件默认获得焦点-现在是条目(树焦点只是一个选项卡进入但主要使用键盘的用户可能更习惯于以树为中心。我自己并不介意,因为我只是用鼠标来抓树。

此处相同,但不确定最佳默认设置是什么。

我原以为这需要更多的代码来对每个文档进行筛选,但很高兴被证明是错误的:d。

这里也是,它实际上适用于整个补丁。我考虑这个功能有很长时间了,但我觉得这样做会很烦人,然后看到了拉请求,这个请求非常琐碎,大部分都在工作,所以我被吸引了:-)。

:)

@技术人员
复制链接
成员 作者

温和的提示,这是一个UI更改和新功能,因此也需要手动更改。

实际上,我在文档中没有找到任何关于符号树的内容(除非我错过了),所以我必须写一些关于它的新部分。在我看来,工具提示说明了一切,不需要任何额外的解释。

也许我们应该考虑一下侧栏中的哪个小部件默认获得焦点——现在是条目(树焦点只是一个选项卡或按一下键),但主要使用键盘的用户可能更习惯于树焦点。我自己并不介意,因为我只是用鼠标来抓树。

我保持了现在的焦点-它似乎表现得很好,需要移动

静止的 空隙 焦点边栏(空隙)

侧栏。c(c)所以它可以访问树来调用gtk小部件抓取焦点()以及更新

空隙 侧栏焦点符号tab(空隙)

不过,如果有人想在默认情况下关注树,那么这些都不是问题。

@超高速16
复制链接
成员

我对当前的焦点行为和其他行为感到满意。
伟大的。

我会离开的@elextr公司有点时间提高他的否决权,否则我想很快合并。

@elextr公司
复制链接
成员

好的,那么我们已经放弃了手册了?(这不是针对@技术人员具体来说,这是一个普遍的问题,一些最近的更改还没有记录下来,但这就是代码的用途,对吗?)

每次合并某些内容时,如果没有对其进行文档记录,“因为此时手册中没有任何内容”,那么这又是另一次手册对用户来说变得更加无用。

[结束暴躁]

@技术人员
复制链接
成员 作者

每次合并某些内容时,如果没有对其进行文档记录,“因为此时手册中没有任何内容”,那么这又是另一次手册对用户来说变得更加无用。

我只是问,如果需要的话,我可以写点东西。我只是没有找到应该放在哪里的地方,符号树右键单击菜单中的所有项目也没有记录在案。插件管理器中的搜索栏也没有文档记录。

我不确定像过滤这样明显的东西是否会给文档增加噪音,而没有任何实际价值。

@elextr公司
复制链接
成员

我只是问问

很抱歉,如果你认为这是针对个人的,正如我所说,我的脾气不是针对你的,我们都要对此负责。

我不确定像过滤这样明显的东西是否会给文档增加噪音,而没有任何实际价值。

这是一个很好的问题,我们的目标是什么?

目前它是初学者信息和专家信息的随机混合。当然,Geany用户大多是某种类型的开发人员(我把Markdown和类似的编写人员算为开发人员),但不一定是同一类型的,C专家可能不是HTML/web专家,反之亦然。因此,对一些用户来说“显而易见”的东西对其他用户来说可能并不明显,即使他们不是“初学者”,所以至少要提到让他们能够被发现的功能。

举个例子,我只想在“Geany工作空间”部分的末尾添加一小节,其中提到了这些功能,而没有详细介绍如何调用它们或需要@超高速16添加和维护右键单击菜单的图像😄.

提要栏用法^^^^^^^^^^^^^侧边栏有一个右键单击菜单,可以控制可见的内容,并具有特定于该选项卡的操作(插件添加的其他选项卡由该插件文档描述):*符号选项卡*展开/折叠树*控制排序顺序*在文档中查找符号符号选项卡也可以通过在…中键入符号前缀来进行筛选。。。[@techee填写,不要忘记过滤器何时自动移除(如果确实如此)]*文件*展开/折叠树*保存到文件或从文件重新加载*基于搜索树的选定文件*显示或隐藏文档路径

(警告:我的rEsT可能需要更正)

@超高速16
复制链接
成员

好的,那么我们已经放弃了手册了?(这不是针对@技术人员具体来说,这是一个普遍的问题,一些最近的更改还没有记录下来,但这就是代码的用途,对吗?)

IMO“放弃”在这里有点太强了。我试图提醒自己和其他人更新手册,但有时我认为添加内容也不值得添加或只是显而易见,同时意识到“显而易见”是非常主观的。
也许我们应该更加关注这一点,但我们也应该尽量不要扩大创建/合并PR的现有负担。

我不确定像过滤这样明显的东西是否会给文档增加噪音,而没有任何实际价值。

这是一个很好的问题,我们的目标是什么?

我想目标受众就是你所描述的:具有非常初级水平的用户以及“C专家”。我认为我们不能也不应该减少目标受众。

在这种情况下,我同意@技术人员过滤器特性(及其工具提示)非常明显。
但是,由于您已经为手册中的新章节提供了一个很好的存根,使用和扩展它就足够了。太棒了!

@技术人员
复制链接
成员 作者

很抱歉,如果你认为这是针对个人的,正如我所说,我的脾气不是针对你的,我们都要对此负责。

没问题,我只是不知道该怎么办。

我会用你的存根(谢谢)并用它更新文档。

@elextr公司
复制链接
成员

elextr公司 评论2022年1月10日

IMO“放弃”在这里有点太强了。

对不起,脾气暴躁的老家伙被要求有点过火,这是我们的合同😄

具有非常初级水平的用户以及“C专家”。

因为我最近一直在尝试其他工具,我称之为“专业初学者”,所以我可以理解在帮助/手册中至少提到一些功能以指明正确的方向是多么有用。

像过滤器之类的东西在不同的工具上的行为不同,Eclipse或Vscode都没有符号过滤器(AFAICT)1例如,相当于“文档”侧边栏的Eclipse过滤器有一个勾选列表,可以按“C/C++文件”和类似的类别进行过滤,因此概述Geany过滤器的工作对于降低期望值和“我该如何做XXX”问题是值得的(它们反而成为了“功能请求”问题👿 ).

但我们也应该尽量不要再增加创建/合并PR的现有负担。

我认为有时公关作家高估了我对“文档”的期望,我很欣赏英语并不是每个人的母语,这就是为什么我提供了大纲作为一个例子来展示我个人认为有用的东西。

只要对该功能有一些概述或提及,至少它表明在该区域中有一些功能,它就隐藏在那里(例如Eclipse文档过滤器隐藏在工具栏上的漏斗图标后面,而不是像Geany符号过滤器这样的条目),并将在搜索帮助时显示出来,这对于“专业初学者”和“初学者”来说已经足够了。

记住Geany的“手册”也是它的“帮助”,当它在浏览器中打开时,通常有很好的搜索功能。

请放心,我无意将《Geany手册》变成一本1000页的全书😄

当“文档”过滤器已添加.

脚注

  1. 编辑:我刚刚发现一个隐藏在汉堡后面的eclipse,它还有一个类别的勾选列表和一个名称条目

@超高速16
复制链接
成员

文件在我看来很好。

@elextr公司
复制链接
成员

对于我来说,C语言通常适用,但Asciidoc和Rest存在一个问题,其中杂乱的标题由0003字符,复制打开吉安.txt并打开过滤器重新.

@技术人员
复制链接
成员 作者

对于我来说,C语言通常适用,但Asciidoc和Rest存在一个问题,其中散乱的标题由0003个字符串接,以重现open geany.txt并在re上过滤。

很好,我正在考虑,但后来忘记了实施。我补充道tm_parser_scope_selector_printable()它返回范围分隔符的可打印表示形式(对于与tm_parser_scope_selector()). 我在路上稍微清理了一下范围分隔符调用,因为它们的不同版本很容易混淆。

@elextr公司
复制链接
成员

@技术人员为什么我们会有冲突?

@技术人员
复制链接
成员 作者

这是因为#3060合并后,我使用tm_parser_scope_selector_printable()也位于受该pull请求影响的calltip格式化函数中。

我应该如何将冲突合并主程序解决到此分支、重设基,或者可能将最后4个补丁作为单独的pull请求提交?

@elextr公司
复制链接
成员

这是因为#3060已合并

啊,绊倒你自己了

也许在这种情况下,除了重新设定基准之外别无选择(但Git专家除外)。

@技术人员
复制链接
成员 作者

我采用了混合方法-重置为头部~4因此,分支只包含标签过滤器功能,没有任何冲突,然后在master上重新设置它的基址,然后手动重新写入最后4个补丁&这比重新设置整个分支的基址更简单。

@超高速16
复制链接
成员

尽管如此,LGTM还是解决了偏离航向的问题。

可以合并吗?

@elextr公司
复制链接
成员

我暂时无法测试任何东西,但如果ReSt和Asciidoc得到修复,我也可以。

@超高速16
复制链接
成员

我刚刚测试了“re”的过滤吉安.txt正如您前面提到的,这是可行的。虽然我没有任何Asciidoc文件可供测试。

@elextr公司
复制链接
成员

IIUC也是同样的问题,所以如果rest可以,asciidoc也应该可以(除了bug:-),所以不要等我。

@超高速16
复制链接
成员

伟大的。

@技术人员你想压制一些提交吗?

@技术人员
复制链接
成员 作者

@技术人员你想压制一些提交吗?

是的,可以解决明显的“错误修复”问题。

*将搜索图标添加到条目*提及使用更多分离过滤器的可能性按工具提示中的空格*在搜索条目中按enter键时聚焦树
多亏了@elextr公司对于大部分文本。
这在ctags中被正式称为“范围分隔符”有人向Geany添加了一个新的解析器,没有必要导致奇怪的名字让那个人感到困惑。
…或()symbols_get_context_separator()使用文件类型ID作为参数tm_parser_scope_selector()使用解析器ID作为其参数很容易混淆。在Geany代码中只使用其中一个来避免错误。
添加的tm_parser_scope_selector_printable()函数是一个人工函数范围分隔符的可读表示。对于大多数语言,这是等于范围分隔符,但对于某些语言(主要是标记语言),一些“奇怪的”范围分隔符被使用,如\0x3或“\”,我们需要向用户显示时更具可读性。“>”看起来很好。此新功能可用于:1.格式化调用提示(尽管真实语言使用了可读范围sep)2.符号树过滤和显示。
@技术人员
复制链接
成员 作者

是的,可以解决明显的“错误修复”问题。

完成。

虽然我没有任何Asciidoc文件可供测试。

所有不可打印的范围分隔符(以及类似的“奇怪”分隔符\"\")由处理

93年3月4日

同样的方式,当它适用于rst时,同样适用于Asciidoc。

@超高速16 超高速16合并提交第5页第9页进入之内 杰尼:主人 2022年1月23日
@超高速16
复制链接
成员

伟大的!谢谢。

免费注册 在GitHub上加入此对话.已经有账户了吗?登录以发表评论
标签
还没有
项目
还没有
开发

成功合并此请求可能会解决这些问题。

4名参与者