Skip to content

Latest commit

 

History

History
493 lines (257 loc) · 13 KB

CHANGELOG_CN.md

File metadata and controls

493 lines (257 loc) · 13 KB

Change Log

English Change Log

1.5.1

NEW 重构了editorconfig文件的读取和解析逻辑, 在windows上会把string转化为宽字符串, 以支持utf8路径

FIX 通过支持windows下的utf8路径修复了当中文目录存在.editorconfig文件时进程崩溃的问题

1.5.0

NEW ---@format disable-next 现在支持在任意位置起作用

NEW 命名风格检查支持支持对local const的特别检查

NEW 允许为次方符号设置单独的空白space_around_math_operator.exponent = false

NEW 通过选项allow_non_indented_comments=true允许非缩进的注释

1.4.3

NEW 支持新的选项系列可以细分continuation_indent:

  • continuation_indent.before_block
  • continuation_indent.in_expr
  • continuation_indent.in_table

NEW 支持新的选项系列可以细分indent:

  • space_before_function_call_single_arg.table
  • space_before_function_call_single_arg.string 他的可选值为always/keep/none

1.4.2

FIX 修复范围格式化在格式化纯空行的时候引发的错误

1.4.0

NEW 重构了CodeFormat命令行工具, 可以检查时导出json格式

1.3.4

NEW 格式化对齐支持UTF8-Latin1字符

NEW end_statement_with_semicolon重新支持 never但是不会处理同行内的分号以及会有歧义的分号

NEW 命名风格检查在snake_case的情况下支持AAA_1的情况

1.3.3

FIX 修复了space_around_concat_operatorspace_around_assign_operator在左侧为数字或者'>'时会导致语法错误

NEW 新增选项space_around_concat_operatorspace_around_assign_operator的可选值范围, 其可选的值范围是: none/always/no_space_asym

1.3.2

CHG 迁移选项end_statement_with_semicolonneverreplace_with_newline

NEW 新增选项space_around_logical_operatorspace_around_assign_operator

1.3.1

FIX 修复了space_before_inline_comment=2对大括号之后的注释不起作用的BUG

NEW 新增选项line_space_around_block表示语句块开始和末尾保留的空行数, 该选项默认值为fixed(1), 表示语句块不保留前面和后面的空行. 其可选的值范围是: keep, max(n), min(n), fixed(n), 该选项无法作用于最外层的代码块.

1.3.0

REFACTOR 重写了分词算法, 和相关的拼写检查

FIX 修复了错误的添加表项的尾部分隔符的问题

NEW 支持选项end_statement_with_semicolon, 现在你可以设置语句是否保留行尾分号, 或者强行保持分号, 该选项提供对应诊断消息, 感谢@AndreaWalchshoferSCCH

NEW 支持选项keep_indents_on_empty_lines, 这个选项主要是intellij平台通常会有默认的一个选项保持空行缩进, 感谢@qq792453582

1.2.2

FIX 当前行存在unicode字符时,放弃对齐行为

NEW 支持非标准符号

1.2.0

NEW 支持选项break_before_braces

NEW 支持设置table_separator_style

NEW 命令行工具支持范围格式化

NEW 支持了intellij平台, Intellij-EmmyLua的用户在2023.1以上的IDE可以安装本插件

1.1.5

NEW 支持通过设置选项 align_continuous_similar_call_args=true 对齐相似函数的参数列表

1.1.4

FIX 修复拼写检查在字符串中少一位的BUG

CHANGE 命名风格检查的camel_case 和 snake_case 不再兼容下划线前缀, 有相关需求的请使用正则表达式

FIX 修复命名风格检查过早退出检查循环的BUG

FIX 修复命名风格检查对空节点的错误检查, 和对table field的检查

Feature Request 如果有更多合理的格式化样式的设置需求可以直接发起issue

Develop 最近特性加入比较慢, 主要是我在全力开发新的语言服务

1.1.3

NEW 功能 命名风格检查 正式支持配置.

CHANGE local empty = function() end 格式化时不会再换行

NEW 支持形如 local d; Init() 的排版方式

NEW 支持链式表达式对齐

1.1.2

NEW 新选项 align_continuous_line_space

NEW 还有其他更新, 但是我忘了

1.1.1

NEW 优化type format

FIX type format 不会清理---@format disable---@format disable-next之下的内容了

1.1.0

FIX 修复许多BUG

NEW 重新支持---@format disable---@format disable-next

1.0.9

FIX 修复缩进检查的一些BUG

1.0.8

NEW 支持缩进检查

NEW 修复一些BUG

1.0.7

FIX fix #89 #90

1.0.6

NEW 支持内联注释对齐

1.0.5

FIX 修复文件增量更新算法的BUG

1.0.4

Upgrade 试图修复vscode-languageclient带来的依赖错误

1.0.3

Upgrade 试图修复插件无法激活的问题, 更新所有依赖库

FIX 修复一个格式化行为.

NEW 选项space_before_function_call_single_arg支持其他值always/only_string/only_table/none

1.0.2

FIX 修复lineIndex错误导致的Unicode字符BUG

1.0.0

EmmyLuaCodeStyle 经过一年的更新现在进入正式版

Refactor 大部分代码重写, 数据结构重新设计

Refactor 大部分选项被重新命名, 新增了一批选项, 移除了一批选项

Performance 得益于从头开始重新设计, 格式化性能提高三倍, 在windows上一般的机器上格式化10w行代码仅需1到2秒

0.18.0

FIX typeformat不会在字符串或者长注释内部做格式化行为

以下由@obszczymucha实现:

NEW 支持选项

  • space_inside_function_call_parentheses
  • space_inside_function_param_list_parentheses
  • space_inside_square_brackets

0.17.2

NEW typeformat会智能填补表项之后的逗号

NEW 支持选项table_separator_style 可选值为none/comma/semicolon

NEW 支持选项trailing_table_separator 可选值为 keep/never/always/smart

0.16.1

FIX 优化typeformat体验

0.16.0

NEW 开启typeformat后,键入'\n'时会自动补完缺失的end

0.15.0

CHANGE 改变代码风格检查时提示的文字

0.14.1

FIX 修复因为设置insert_final_newline = false和开启typeOnFormat特性导致回车无效得BUG

0.14.0

CHANGE 配置项insert_final_newline现在符合.editorconfig规定

CHANGE 支持breakgoto 语句后的分号

CHANGE 格式化将移除空行分号,移除if语句,while语句,repeat语句后的分号

NEW 支持通过注解部分屏蔽格式化,详细看disable-format

0.13.0

CHANGE 放宽对齐调用表达式的限制

NEW 支持扩展语法,允许 '`' 表达的字符串

NEW 新增选项space_before_function_open_parenthesis 表示函数和其括号之间保持一个空格(包括函数定义,和函数调用,以及闭包表达式)

NEW 新增选项space_before_open_square_bracket 表示在索引表达式中的中括号和左边符号相距一个空格

FIX 修复因为支持t[ [[1111]] .. 1 ]的排版而错误将t[t[1]]格式化为t[ t[1] ]的问题

0.12.0

NEW 当代码超过指定行宽时会自动折行,该行为可能会产生不如意的代码排版。这时候建议ctrl z之后手动排版再格式化。

FIX 修复索引表达式中涉及长字符串时,格式化导致的语法错误

0.11.4

CHANGE 更新基本词典

NEW 支持字符串中的拼写检查

0.11.3

CHANGE 更新词典

CHANGE 语言服务按lsp3.17版本重新设计, 诊断采用lsp规定的方式诊断。

0.11.2

CHANGE 更新lua常用词词典

0.11.0

CHANGE 重构了语言服务的代码组织,暂时移除插件对补全的影响,插件不在代码补全时提示模块了

CHANGE 优化了模块诊断时提示的内容

NEW 提供针对lua优化的标识符单词拼写检查算法

NEW 提供了新的格式化选项:

  • remove_empty_header_and_footer_lines_in_function 允许移除函数的上面和下面多余空行
  • remove_expression_list_finish_comma 允许移除函数调用时最后一个逗号(这本身是一个语法错误)

0.10.3

NEW 命令行工具支持使用通配符过滤

0.10.2

CHANGE 默认情况下namedef和attribute会有一个空格的距离

NEW 行布局支持使用maxLine:$n指定与下一行的最大行距

NEW 行宽允许设定为unset

CHANGE 函数调用的排版方式变更,更符合lua中的一些使用习惯

0.10.0

NEW vscode插件端实现配置EmmyluaCodeStyle开关模块诊断,代码风格诊断, 模块补全.

NEW 行距诊断换一种表现方式

NEW 支持通过设置align_chained_expression_statement=true使链式表达式对齐到第一个'.'或者':'

NEW 支持通过设置if_branch_comments_after_block_no_indent允许else或者elseif之上的注释对齐到关键词上

0.9.7

IMPL #31

IMPL #30

  1. 格式化会移除注释的尾部空白
  2. 通过选项if_branch_comments_after_block_no_indent = true 允许在else/elseif分支之上的注释不会缩进到语句块内部

0.9.6

命令行工具帮助打印更规范

0.9.5

命令行工具在指定单输入文件时可以指定工作区,这可以帮助detect config。

0.9.4

修复命令行工具无法输出到文件的bug

0.9.2

命令行工具支持批量格式化和批量诊断

0.9.0

  1. 命令行工具现在会自动寻找并使用最近的editorconfig配置
  2. 长字符串和长注释会采用配置的行尾格式化

0.8.7

重写命令行工具

0.8.5

修复一个bug:纯注释文件会被直接清空

0.8.4

FIX #27

0.8.3

FIX #26

0.8.2

FIX #25

0.8.1

FIX #24

0.8.0

Resolve #20

Resolve #17

Resolve #16

Resolve #15

主要更新的特性为允许设定单双引号风格,对齐时采用最小对齐,允许移除函数调用的括号

0.7.0

  1. 修复存在某些语法错误的情况下仍然格式化的问题
  2. 支持if的条件表达式互相对齐
  3. table表达式内支持不同的连续有不同的对齐
  4. 形如t[#t+1]可以无空白包含
  5. sumneko_lua 集成了该插件的主要功能

0.6.1

更新文档,更新editorconfig模板

0.6.0

  1. 提高测试的覆盖率,每一个格式化选项都有专门的测试
  2. 重构缩进算法,更好的支持使用tab作为缩进
  3. 提供许多与缩进有关的格式化选项
  4. 部分格式化选项重新命名了
  5. 修复许多bug

0.5.1

修复linux下不可用的问题

0.5.0

将语言服务由单线程分离io线程和逻辑线程。io线程会尽可能快的读取消息,逻辑线程为单线程内无锁异步(不含asio自己控制的锁) 采用增量更新,单次发包量大幅度降低,语言服务采用原地增量更新算法(极少重新申请空间储存代码) 语言服务实现调度机制,代码诊断实现后端防抖,防抖区间暂定0.3秒。 大幅度提高插件性能,代码诊断不再成为性能瓶颈,在10万行以内的代码不会影响插件的正常使用

0.4.5

修复由于linux下编译器版本为gcc11导致在大部分linux环境下不可用的问题

0.4.4

修复枚举不一致

0.4.3

修复诊断bug

0.4.2

  1. 修改格式化规则,连续调用表达式中如果存在单参数省略括号的表达形式,则该参数与下一个调用参数列表保持一个间距。
  2. 修复一个识别错误的bug

0.4.1

提供模块的特殊export.rule规则,使用形式待考虑

0.4.0

提供auto import 功能

0.3.2

修复label导致格式化结果不稳定的bug

0.3.1

现在修改配置会立即刷新所有打开的文件了

0.3.0

修复许多bug,重构迭代算法,增加测试用例

0.2.6

降低插件体积,插件实现分系统分发不同的包。

0.2.5

修复一个连续调用函数时格式化错误的问题

0.2.4

修复因为cin.readsome无法在linux和macosx上正确工作导致无法正确运行的问题,windows上仍然使用cin,cout linux和macosx上使用asio封装过的接口

0.2.2

优化节点的内存占用,优化常驻内存,采用mimalloc优化内存分配性能,优化内存碎片。

0.2.1

修复内存方面的问题,降低内存消耗

0.2.0

  1. 重写.editorconfig读取规则,支持editorconfig的基本匹配规则和所有基本选项
  2. 支持基于lua语法特性和日常习惯的lua命名风格检测规则
  3. 语言服务实现内采用异常提前中断没必要的解析

0.1.18

修复命名风格检查未能正确工作的bug

0.1.17

  1. 修改配置选项名称,和editorconfig使用的名称保持一直(建议重新导入配置)

  2. 支持检测是否以新行结束文本

  3. 支持命名风格检测(默认不开启)

0.1.16

代码诊断本地化

0.1.15

修复bug