跳转到主要内容

zc.buildout的语言服务器

项目描述

语言服务器提供zc.buildout

此语言服务器使用pygls实现。

安装

独立

需要python >= 3.8。

python -m pip install zc.buildout.languageserver

然后配置您的编辑器以运行buildoutls(或python3 -m buildoutls)。

从vscode扩展

激活时,扩展会自动在扩展首选项中配置的python上安装扩展。

自动安装似乎与theia不兼容,必须事先安装python egg。

功能

完成

  • ${[完成部分。
  • ${section:完成section的选项。如果section使用已知的配方,配方中的动态选项也会完成。
  • ${buildout:extends}完成文件名。
  • ${buildout:parts}<=选项完成部分。

诊断

  • ${section:option}引用中不存在部分和选项。
  • 一些“已知配方”未定义必需的选项。
  • [versions]中列出的python包有已知漏洞

符号

  • 部分和选项以符号形式显示在轮廓中。

链接

  • ${buildout:extends}是链接。

转到定义

  • ${section:options}我们可以转到定义optionsection位置,或者如果它未定义,则转到section标题。
  • <= 部分 我们可以跳转到 部分
  • ${buildout:extends} 我们可以跳转到扩展配置文件。

悬停

  • 悬停在选项上会显示选项值。
  • 悬停在食谱上会显示食谱文档

查找引用

  • 查找当前符号的引用。这有点简单,它只查找引用,而不检查配置文件是否真的 extends 了彼此。它也不会在模板中查找。

代码操作

  • 将 Python 包从 [版本] 更新到 PyPI 上的最新版本
  • 计算 URL 的 md5sum

语义标记

  • 选项中的 Python 代码将被突出显示。

模板支持

  • “当前” buildout 配置文件被猜测,然后完成和诊断应该可以在任何文件上工作。

Jinja2 支持

  • Jinja 语法会被语法突出显示,并且在解析 buildout 时忽略 Jinja 语法标记。

SlapOS 支持

  • SlapOS 实例 buildout(即由 buildout 生成的 buildout)被理解,${$${ 在完成和诊断时被分别处理。

变更日志

本项目所有显著更改都将记录在此文件中。

格式基于 Keep a Changelog,本项目遵循 语义化版本控制

未发布

0.13.0 - 2024-07-04

添加

  • semantic_tokens: 在选项中突出显示 Python 代码
  • completions: 在 [ 内完成现有部分以覆盖现有部分。
  • hover: 改进已知食谱的悬停效果
  • 添加对 plone.recipe.zope2instance 的支持

修复

  • completions: 完成时不要在 ${buildout:parts} 后添加额外的换行符

0.12.0 - 2023-10-08

  • 支持 Python 3.12
  • 升级依赖项版本

修复

  • hover: 修复在没有打开文件夹时打开 instance.cfg.in 时崩溃(通过更新 pygls)

0.11.0 - 2023-10-04

添加

  • code actions: 支持取消 md5sum 命令

修复

  • hover: 修复在工作区文件夹外打开 instance.cfg.in 时崩溃

0.10.1 - 2023-09-20

修复

  • 回滚: code actions: 支持取消 md5sum 命令,这需要一个未发布的 pygls

0.10.0 - 2023-09-20

添加

  • code actions: 支持取消 md5sum 命令
  • references: 支持取消

0.9.3 - 2023-09-19

修复

  • server: 修复在 gitlens 视图中悬停 .cfg.in 时崩溃
  • client,server: 更新依赖项

0.9.2 - 2023-02-24

修复

  • server: 修复了 python_requires 的定义

0.9.1 - 2023-02-24

添加

  • client: 升级依赖项版本

0.9.0 - 2023-01-01

添加

  • 更新到 pygls 1.0

0.8.3 - 2022-11-06

修复

  • client: 回滚到较旧的 vscode 和 vscode-languageclient 依赖项

添加

  • server: 支持更多 slapos 食谱

0.8.2 - 2022-10-29

修复

  • client: 使用 requirements.txt 安装以安装固定版本

添加

  • client: 升级依赖项版本
  • server: 支持 Python 3.11

0.8.1 - 2022-07-03

修复

  • code_actions: 修复从选项键调用时访问 PyPI 项目
  • aiohttp: 不要设置全局超时

0.8.0 - 2022-07-02

添加

  • requests 切换到 aiohttp。异步进行 HTTP 请求,并在 PyPI 诊断的情况下并发执行。
  • diagnostic: 将选项重新定义到相同值的严重性降低到信息级别
  • diagnostic: 为每个重新定义的值添加提示级别的诊断
  • cli: 新的 --log-pygls 标志,用于包含 pygls 日志。默认情况下,它们不会包含在内。
  • diagnostic: 报告未知 PyPI 项目或版本

修复

  • pypi: 修复在 versions 中列出未知项目时的崩溃
  • diagnostic: 对于使用 Jinja 生成的配置文件不发出假阳性
  • 修复空的 ${buildout:extends}

0.7.1 - 2022-05-08

添加

  • recipe: 支持定义已弃用的选项
  • recipe: 支持 slapos.recipe.template 版本 0.5

修复

  • recipe: 修复食谱文档中的某些 Markdown 语法

0.7.0 - 2022-04-03

添加

  • code actions: 在更新 md5sum 时报告进度
  • 公开命令以启动和停止配置文件。

修复

  • 通过实现 .copy() 方法和使用中间缓存,显著提高了性能。
  • 修复完成仅由空格组成的选项时的崩溃
  • 修复在 ${} 后完成时的崩溃

0.6.2 - 2022-01-06

修复

  • 修复与 vscode 扩展相关的打包错误

0.6.1 - 2022-01-04

修复

  • 修复包自动发布的问题

0.6.0 - 2022-01-04

添加

  • 诊断:报告已知漏洞的版本
  • 代码操作:将列表中的python包versions更新到最新版本
  • 代码操作:在pypi上查看python包页面
  • 代码操作:计算URL的md5sum

已移除

  • 支持Python 3.6,最低支持版本现在是3.7

修复

  • 补全:不要在注释中提供补全
  • 通过取消挂起的任务来修复性能问题 实际上修复是错误的

0.5.0 - 2021-03-28

添加

  • 诊断:当选项重新定义当前值时警告
  • 补全:补全当前部分的现有选项
  • 诊断:支持具有任意选项的配方(如slapos.recipe.build)
  • 诊断:当现有配置文件不存在时报告错误

修复

  • 停止使用多行jinja发出假阳性诊断
  • 停止在扩展动态配置文件时为缺失的部分/选项发出假阳性诊断
  • 修复“添加行注释”操作

0.4.0 - 2020-10-08

修复

  • 不要跳过包含jinja表达式的行。这导致jinja在选项中使用时缺失一些选项
  • 诊断:当扩展jinja时容忍未知部分

0.3.0 - 2020-02-23

添加

  • 支持在${buildout:extends}中使用http URL

0.2.1 - 2020-04-25

修复

  • 参考:考虑将部分列表在${buildout:parts}中作为参考。
  • 补全:使用textEdit正确覆盖现有文本。
  • 所有:将协议函数去抖动以接受取消。
  • 所有:修复在工作区外打开配置文件时的错误。

0.2.0 - 2020-02-12

添加

  • 支持使用buildout < 2.9.3运行
  • 对使用slapos.recipe.template:jinja2定义的instance.cfg的初始支持

修复

  • 修复了损坏的v0.1.1版本,无法从pypi安装。
  • 诊断:防止在仅作为宏使用的部分上出现“缺少所需选项”的假阳性
  • 诊断:正确分析名称中包含.-的章节
  • 诊断:修复使用扩展章节的${buildout:parts}上的假阳性
  • 诊断:修复在动态添加部分时使用jinja的${buildout:parts}上的假阳性

0.1.1 - 2020-01-30

添加

  • 定义:可以从${buildout:extends}中打开路径,也可以使用跳转到定义打开。
  • 补全:修复包含-的insertText
  • 诊断:检测在${buildout:parts}中列出的不存在部分
  • 诊断:检测在${buildout:parts}中未列出配方的一部分

0.1.0 - 2020-01-04

  • 初始版本

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

zc_buildout_languageserver-0.13.0.tar.gz (71.5 kB 查看哈希)

上传时间

构建分发

zc.buildout.languageserver-0.13.0-py3-none-any.whl (76.8 kB 查看哈希值)

上传时间: Python 3

支持者