fortls 的独特功能(fortran-language-server 中没有)

添加

  • 添加了更改默认 Python 递归深度支持 (#312)

  • 添加了对预处理器宏扩展的支持 (#368)

  • 添加了对预处理器指令中前导空格的支持 (#297)

  • 为类型和模块添加了悬停消息 (#208)

  • 添加了对来自 M_intrinsics 存储库的 Markdown 内在函数的支持 (#215)

  • 添加并为 fortls 配置文件创建了一个模式 (#204)

  • 为 PyPi 添加了 dependabot 警报 (#222)

  • 在项目根目录中添加了 CITATION.cff 文件

  • 添加了其他默认配置文件名 .fortlsrc.fortls.json (#184)

  • 添加了多个 Python 版本的覆盖率测试 (#168)

  • 将 pre-commit.ci 添加到 fortls (#168)

  • 添加了对 json 配置文件中的注释的支持 (#137)

  • sitemap.xml 添加到文档网页 (#134)

  • 在 pytest 测试套件中添加了 doctests (#131)

  • 添加了 textDocument/documentHighlight 请求以用于 Vim 和 EMACS (#43)

  • 添加了 pre-commit 钩子,其中包含 flakeblackisortpyupgrade (#106)

  • 添加了对诊断消息的测试支持

  • 为诊断消息添加了多个单元测试

  • pre-commit 钩子添加到项目中 (#106)

  • 添加了行为准则

  • 添加了对悬停在 ASSOCIATE 块上的基本支持 (#62)

  • 将关键字添加到 PyPi 清单中 (#99)

  • 添加了内在函数的单元测试并改进了整体覆盖率

  • 自动化了 GitHub Actions 的更新

  • 添加了 Unix + Windows 的覆盖率报告

  • 改进了符合 F2018 标准的 Fortran 语句的自动完成 (#63)

  • 添加了 fortls 自动更新的功能,使用 --disable_autoupdate 禁用 (#76)

  • 弃用 --variable_hover 选项,现在始终启用 (#46)

  • 使用 setuptools_scm 添加了语义版本控制 (#34)

  • 向 REAMDE 添加了其他徽章,包括覆盖率和 Python 版本

  • 为 Codecov 添加了覆盖率指标

  • 添加了 WHEREENUM、最大行/注释诊断和多行的覆盖率

  • 添加了 Windows CI

  • 添加了对绝对包含、源和排除路径的支持

  • 添加了对从文件中包含预处理器定义的支持,与 pp_defs 相同

  • 添加了对预处理器变量的悬停支持

  • 添加了 include 语句的转到定义

  • 添加了对 OpenACC 版本 3.1 的内在函数支持

  • 添加了 Sphinx 自动生成的文档

  • 添加了 incl_suffixes 作为配置选项

  • 在悬停时添加 EXTERNAL 作为属性

  • 在悬停时添加 PARAMETER 变量的值 (#116) (#1)

  • 添加了 --config 选项,允许使用任意命名的配置文件

  • excl_pathssource_dirsinclude_dirs 添加了 Python glob 支持

更改

  • --incl_suffixes 选项更改为忠实地匹配选项中提供的后缀,而不执行任何类型的修改。 (#300)

  • 将完成签名更改为包含完成项的完整 Markdown 文档。 (#219)

  • 更改悬停消息和签名帮助以使用 Markdown (#45)

  • 更改了文件的固定/自由格式的自动检测,以忽略预处理器行。 (#302)

  • 将项目设置从 setup.cfg 移动到 pyproject.toml (#384)

  • setuptools 版本提升到 >=61.0.0 (#384)

  • 当使用命令行界面和 json 界面混合使用时,更改了以下选项的默认值。 json 界面不再将值默认为空集,而是默认为命令行值:excl_pathssource_dirsincl_suffixesexcl_suffixesinclude_dirs (#143)

  • 重命名变量以简化解析器 (#133)

  • 重新设计了数组维数、字符长度和种类解析的简写声明的解析函数 (#130)

  • 重新设计了 fortls 网站,使其更美观且用户友好 (#112)

  • 更改了代码结构,重新格式化了文件并更改了命名约定 (#109)

  • 更新了 CONTRIBUTING 说明

  • 更改了 Fortran 对象的命名约定 (#109)

  • 使用 pre-commit 格式化所有文件

  • 更新了 README 以包含徽标和动画

  • 更新了 README 以包含 conda-forge 安装说明

  • 重新构建了单元测试到单个文件中,以便更细致地报告

  • 更改了处理隐式命名类型绑定过程及其实现重命名的方式。 添加了单元测试。

  • 重写了 Fortran 解析器,使其更清晰且更模块化

  • 禁用预发布和开发版本的 PyPi 自动更新

  • 更改了自动更新功能,以跳过 anaconda 环境,因为它们通过 conda 而不是 pip 处理其依赖项

  • 更新了 setup.cfg,以准备将包提交到 conda-forge

  • 在文档中添加了“编辑器集成”部分

  • 更改了读取 json 文件的方式,使其以 UTF-8 编码 (#51)

  • 更改了函数悬停消息的显示方式,现在签名已标准化 (#47)

  • 将默认分支更改为 master 并更新了 Actions 工作流

  • setup.pysetup.tomlpyproject.toml 的更改 (#33)

  • 将文档 CI 更改为最新的操作

  • 使用 isort 格式化 Python 导入

  • USE_info 具名元组更改为将使用模块存储为 sets 而不是 lists

  • include_dirslist 更改为 set

  • 使用 GitHub 发布自动执行版本控制

  • 更新了 omp_libomp_lib_kinds 接口 v5.0 的常量参数

  • 使用 prettier 格式化 json 文件

  • 初始化日志通道并添加 $/setTrace 以覆盖客户端(即 VS Code)的日志级别

  • 统一了命令行和配置文件中的接口 (#17)

  • 更新了文档并简化了 README.md

已弃用

  • 选项 --preserve_keyword_order 已被其相反选项 --sort_keywords 替换。

已移除

  • 由于包已弃用,因此移除了 setuptools_scm_git_archive (#326)

已修复

  • 修复了 SUBMODULE 语句的文档符号错误 (#413)

  • 修复了嵌套预处理器块错误地评估为活动状态的错误 (#404)

  • 修复了解析器在尝试检索无效行号时崩溃的错误 (#398)

  • 修复了查找括号时字符串引号未转义的错误 (#250)

  • 修复了词法标记中行延续的错误 (#235)

  • 修复了原生解析器中尾随分号引发的作用域结束错误 (#265)

  • 修复了 AST 中包含语句的父作用域可能为 None 的错误 (#329)

  • 修复了 ifelif 条件语句的预处理器错误 (#322)

  • 修复了如果在 % 周围使用空格,则不会检测到类型字段或方法的错误 (#286)

  • 修复了“转到实现”功能对于子模块不起作用的错误 (#74)

  • 修复了指向函数结果的变量的 associate 块未正确解析的错误 (#269)

  • 修复了 langid 未从用户设置正确传播到所有类型请求的 LSP 创建阶段的错误。(#257)

  • 修复了 CRITICAL 关键字块的作用域结束问题 (#255)

  • 修复了在 USE ONLY 中完成接口时会生成代码片段的错误 (#150)

  • 修复了针对不存在的变量引发诊断消息的错误 (#173) (#175)

  • 修复了子模块崩溃错误和文档/符号请求失败问题 (#233)

  • 修复了调试接口解析器未加载所有配置文件的错误 (#221)

  • 修复了在悬停时对类型绑定过程指针进行名称混淆的错误 (#214)

  • 修复了将多行开头解析到 AST 的错误 (#217)

  • 修复了 intent(in out) 未被正确解析的错误 (#160)

  • 修复了 pip 会在没有 --user 的情况下安装并失败的问题 (#163)

  • 修复了如果参数命名为 pureelemental 等,则会引发诊断错误的错误 (#157)

  • 修复了导致 VS Code 日志中出现错误的 workspace/didChangeConfiguration 请求 (#114)

  • 修复了命令行参数的 glob 模式解析 (#142)

  • 修复了错误消息未正确发布的错误 (#135)

  • 修复了如果使用关键字修饰符,子模块过程作用域会过早终止的错误 (#119)

  • 修复了远程覆盖率报告行差异 (#101)

  • 修复了内在函数的“转到实现”错误 (#80)

  • 修复了 setup.cfg 中缺少的依赖项 (#78)

  • 更新了文档中的配置文件变量

  • 修复了在定义周围没有括号的情况下解析 defined 的错误 (#67)

  • 修复了文字和常量字符串的悬停值未显示的问题 (#54)

  • 修复了悬停字符串长度大小现在与字符串匹配的问题 (#55)

  • 修复了悬停时未显示空格分隔的关键字的问题 (#60)

  • 修复了函数悬停显示为其结果类型的问题 (#22)

  • 修复了函数修饰符在悬停时未显示的问题 (#48)

  • 修复了返回数组时的函数悬停问题 (#50)

  • 修复了带有 f-字符串的代码自动完成错误 (#39)

  • 修复了全局 sort_keywords 选项在 Windows 上解析期间未传播的问题 (#36)

  • 修复了单元测试未传播调试状态的问题 (#35)

  • 修复了方法和类中一些可变默认参数警告

  • 修复了私有变量在自动完成中显示的问题 (#191) (#3)

  • 修复了预处理器函数的悬停。它现在显示函数名称(不带参数列表)和函数体。参数列表不能是多行,但函数体可以。

  • 修复了跨多行的标记为 EXTERNAL 的对象 (#169)

  • 修复了包含外部文件的问题 (#13)

  • POINTER 属性现在在悬停时显示 (#16)

  • 修复了 END FORALL 作用域结束错误 (#18)

  • 修复了与预处理器指令混合的 Fortran 行延续定义 (#203) (#4)

  • 修复了 USE 指令排序问题 (#184) (#7)

  • 进一步改进了 v1.14.0 中添加的文字变量悬停

  • 修复了命名为 end 的变量过早结束作用域的问题 (#9)

  • 修复了导入主机关联包含(自动完成工作尚未完毕)(#187)

  • 修复了 non_intrinsic 模块的解析 (#206)

  • 修复了在解析包含空格的子模块父名称时出现的错误 (#207)

  • 修复了语言服务器功能未针对第 0 列中的变量触发的错误

  • 修复了(部分)Fortran 文字变量悬停 (#188)

  • 修复了将接口作为函数参数时的诊断错误 (#200)