加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

emacs – 将自定义函数写入自动代码有什么好*抽象*?

发布时间:2020-12-15 21:31:40 所属栏目:安全 来源:网络整理
导读:这个月我花了一些时间与Emacs Lisp斗争,试图获得更好地满足我需求的自动缩进.令人印象深刻的是大多数缩进代码的低级别.我只看到了很少的抽象,例如 搜索不在字符串或注释中的正则表达式的第一个实例 我怀疑还有更多有用的抽象,这有助于编写更容易理解和更容易
这个月我花了一些时间与Emacs Lisp斗争,试图获得更好地满足我需求的自动缩进.令人印象深刻的是大多数缩进代码的低级别.我只看到了很少的抽象,例如

>搜索不在字符串或注释中的正则表达式的第一个实例

我怀疑还有更多有用的抽象,这有助于编写更容易理解和更容易修改的缩进代码. (甚至我引用的抽象也可以改进为“将这个函数重复应用于这些参数,直到函数返回nil或point不在字符串或注释中”.)

我正在使用emacs,但我也用vim标记了这个问题,因为我会从任何地方获取好的想法.

如果您想编写干净,设计良好的模块化自定义缩进函数,您会使用哪些抽象? (我也很高兴看到您认为使用良好抽象的代码指针,或者只是设计得很好.)

解决方法

听起来你正在寻找更高级别的东西,但是macs 23来了
与 SMIE,一般寻求解决这个问题.但这是主要模式
开发人员,不要修改现有的缩进行为.

编辑:主要的抽象似乎是

>一个相当弱的运算符优先级解析器,由脏技巧词法分析器补充
>每个令牌都有“虚拟缩进”的概念,如果开始一行,它就会出现
>每个标记都有一个“父”,它是封闭语法结构的开头.

进入的成本似乎相当大,该软件附有此免责声明:

In practice,[the] default indentation style will probably not be good enough. You will want to tweak it in many different cases.

(编辑结束)

你说的话:

Search for the first instance of a regular expression that is not in a string or a comment

通过调用syntax-ppss和re-search-backward可以轻松完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读