## Go-LSP:Go 语言的语言服务器协议实现
Go-LSP 是一个 Go 库,旨在简化构建语言服务器协议 (LSP) 服务器,支持 LSP 3.17。它处理 JSON-RPC 框架和消息分发的复杂性,允许开发者专注于语言特定的逻辑。
该库提供对 LSP 功能的广泛支持,包括代码补全、悬停提示、诊断、格式化、重命名、语义标记、工作区符号等。它会根据实现的接口自动通告服务器能力,但也可以进行显式配置。
构建服务器涉及定义一个实现必需的 `LifecycleHandler` 接口和可选功能处理程序(例如 `HoverHandler`)的处理器结构体。服务器可以通过标准 I/O、TCP 或 WebSockets 运行。
Go-LSP 提供了服务器到客户端通信的工具(发布诊断信息、显示消息),并支持自定义 JSON-RPC 方法。它还包含通过 `log/slog` 进行的结构化日志记录,以及用于单元测试的综合测试工具 (`servertest`)。内置调试 UI 提供实时 LSP 流量检查和性能指标。
该库分为四个包:`server`、`lsp`、`servertest` 和 `internal/jsonrpc`。可通过 `go get github.com/owenrumney/go-lsp` 获取。
## Sinclair Microvision:袖珍电视革命?
1977年1月,克莱夫·辛克莱发布了Microvision,这是一款经过14年开发、投资50万英镑的、极其紧凑的2英寸电视接收器。它使用了300个晶体管和定制设计的组件——包括与AEG Telefunken合作开发的独特真空管——接收器优先考虑低功耗,使用可充电电池或交流适配器可运行四小时。
尽管屏幕很小(大约是35毫米幻灯片的大小),辛克莱认为观看体验与从远处观看24英寸屏幕相当。Microvision拥有多功能的调谐能力,支持多种广播标准和频段。
售价175英镑(不含增值税),它面向“声望、高管市场”,尤其是在美国,辛克莱声称对这项技术拥有“垄断”地位。然而,生产细节仍然模糊,尽管国家企业委员会投资了65万英镑,但仍未确定明确的计划或已确认的零售合作伙伴。辛克莱承认,目前的型号还不是“可行的产品”,暗示未来将推出更便宜、单一标准的面向大众市场的版本——但由于成本原因,彩色电视仍然无法实现。