Cherri – 可编译为苹果快捷指令的编程语言

Cherri – 可编译为苹果快捷指令的编程语言

Hacker News 摘要

原标题:Cherri – programming language that compiles to an Apple Shortuct

Cherri(读音同 cherry)是一个专门为苹果快捷指令设计的编程语言。它可以直接编译成一个有效的、可运行的快捷指令文件。该项目的主要目标是让用户能够更实际地创建大型快捷指令项目,并实现长期的维护。

核心特性

• 支持桌面端开发:提供命令行界面(CLI)、VS Code 扩展以及专用的 macOS 应用程序。

• 易于学习:语法与其他主流编程语言相似。

• 便于调试:尽可能将语言代码与快捷指令操作进行一比一转换,降低调试难度。

• 自举化设计:大部分操作和类型都是使用该语言本身编写的。

• 强大的包管理器:内置基于远程 Git 仓库的包管理器,支持自动包含和更新。

• 变量优化:没有复杂的魔法变量(Magic Variables)语法,而是将其作为常量处理。

• 性能优化:经过优化以生成体积更小的快捷指令文件,并减少运行时的内存占用。

• 模块化开发:支持在大型项目中使用 #import 语法包含其他文件。

• 高级定义:允许使用类型检查、枚举、可选值、默认值、原始标识符和原始键来定义操作。

• 函数支持:可以定义在独立作用域内运行的函数,减少重复的操作步骤。

• 便捷功能:支持自动复制粘贴操作、手动输入原始操作标识符、生成菜单用的 VCard、嵌入 Base64 编码文件等。

• 逆向导入:可以通过 --import= 选项将 iCloud 链接形式的快捷指令转换回 Cherri 代码。

• 类型系统:拥有完善的类型系统和类型推断功能。

• 签名机制:支持使用 macOS 进行签名,也可以回退到 HubSign 或其他签名服务器。

相关资源

该项目提供了丰富的生态支持,包括 VS Code 的语法高亮插件、在线演练场(Playground)、带有图形界面的 macOS 集成开发环境(IDE)、详细的在线文档以及用于查找快捷指令图标的 Glyph 搜索工具。

安装方法

用户可以通过多种方式安装 Cherri:

1. 使用 Homebrew 安装:首先添加仓库 tap electrikmilk/cherri,然后执行 brew install electrikmilk/cherri/cherri

2. 使用 Nix 安装:执行 nix profile install github:electrikmilk/cherri

3. 直接下载发布页面提供的最新二进制文件。

使用说明

基本的编译命令为 cherri file.cherri。直接运行不带参数的 cherri 命令可以查看所有选项。在开发过程中,可以使用 --debug-d 选项来打印堆栈追踪、调试信息并输出相应的 .plist 文件。

项目背景

作者开发 Cherri 的初衷是为了填补部分快捷指令编程语言被弃用或失效后的空白,并认为为快捷指令开发语言是一件很有趣的事情。该项目选择 macOS 作为主要开发平台以保证稳定性。Cherri 的语法灵感来源于 Go、Ruby、ScPL、Buttermilk 和 Jelly。

Cherri 这个名字源于 Workflow 软件在被苹果收购前倒数第二次更新的代码名。该项目由 Brandon Jordan(网名 electrikmilk)发起并维护,主要使用 Go 语言开发,占比达 99.5%。目前该项目在 GitHub 上持有 GPL-2.0 开源协议。


原文:https://github.com/electrikmilk/cherri

评论:https://news.ycombinator.com/item?id=47549824

Report Page