Skip to content

BIRD.vim 1.0.13

Choose a tag to compare

@github-actions github-actions released this 17 Jul 20:45
887a95f

✨ Added / 新增

  • 🛰️ BIRD 2.19 与 BIRD 3.3 配置语法 / BIRD 2.19 and BIRD 3.3 configuration syntax

    同步最新及较少使用的关键字、枚举、CLI 短语、运行时/接口属性、BGP
    hidden/unknown attributes、mac / mac set 类型及 bt_check_assign

    Synchronized current and uncommon keywords, enums, CLI phrases,
    runtime/interface attributes, BGP hidden/unknown attributes, mac / mac set
    types, and bt_check_assign.

  • 🧭 精确名称与目录识别 / Exact filename and directory detection

    新增 .bird.bird2.bird3、规范配置文件名,以及 birdbird2
    bird3 配置目录的精确识别。

    Added exact detection for .bird, .bird2, .bird3, canonical
    configuration filenames, and files under bird, bird2, or bird3
    configuration directories.

  • 💬 可逆的注释映射 / Reversible comment mappings

    新增 buffer-local 普通模式与可视模式注释映射,并保留用户已有的
    <Leader>c 等映射;ftplugin 清理逻辑保持可逆。

    Added buffer-local normal and visual comment mappings while preserving user
    mappings such as <Leader>c; ftplugin cleanup remains reversible.

🔧 Changed / 变更

  • 🔎 有界、注释感知的启发式检测 / Bounded, comment-aware heuristics

    通用 .conf 文件仅扫描前 200 行并忽略注释。BIRD 独有结构可直接命中,
    较通用结构必须同时出现两个独立信号;已有的非 conf filetype 不会被覆盖。

    Generic .conf files are scanned only through the first 200 lines with
    comments ignored. BIRD-specific structures match directly, while generic
    structures require two independent signals; existing non-conf filetypes
    are preserved.

  • 🔄 支持稍后写入的配置内容 / Late-populated configuration support

    新增 FileType confBufWritePost 检测路径,可识别打开后才写入或生成的
    BIRD 配置。

    Added FileType conf and BufWritePost detection paths for BIRD
    configurations populated or generated after opening.

  • 🧾 引入可审计的变更片段 / Adopt auditable change fragments

    新增零依赖的变更片段工作流,可在 PR 中记录语义版本级别和双语发布说明,
    并在发布时按分类汇总到 CHANGELOG。

    Added a dependency-free change-fragment workflow that records semantic
    version bumps and bilingual release notes in pull requests, then groups them
    into the changelog during release preparation.

🐛 Fixed / 修复

  • 🐦 降低通用 .conf 误识别 / Reduced generic .conf false positives

    文件名仅包含 bird 不再触发识别,bluebird.confhummingbird.conf 以及
    nginx、Apache 等配置不会因为单个弱信号而被误判。

    A filename merely containing bird no longer triggers detection. Files such
    as bluebird.conf, hummingbird.conf, and nginx or Apache configurations are
    not classified from a single weak signal.

  • 🗃️ typed table 识别边界 / Typed-table detection boundaries

    正确识别 eth tableneighbor tableipv6 sadr table,同时排除并非
    table 声明的 address-family 标签。

    Correctly recognizes eth table, neighbor table, and ipv6 sadr table
    without treating address-family labels as table declarations.

  • 🧵 字符串、操作符与前缀匹配 / Strings, operators, and prefix matching

    修复双引号转义、位运算符冲突、压缩 IPv6 前缀和 IPv4/IPv6 prefix range,
    并限制 IPv6 正则边界以避免异常长行产生额外开销。

    Fixed double-quoted escapes, bitwise-operator collisions, compressed IPv6
    prefixes, and IPv4/IPv6 prefix ranges, while bounding IPv6 matching on
    unusually long lines.

🧪 Verification / 验证

  • 新增 headless syntax group、filetype detection 与 ftplugin 回归测试。
  • Added headless syntax-group, filetype-detection, and ftplugin regressions.
  • CI 覆盖 Vim v8.2.0000 与 stable,且语法文件与共享 canonical snapshot
    保持逐字节一致。
  • CI covers Vim v8.2.0000 and stable and verifies that the syntax file is
    byte-identical to the canonical shared snapshot.

🔌 Compatibility / 兼容性

  • 仓库由 BIRD2.vim 更名为 BIRD.vim,并提供 vim-plug、Vundle、原生 packages
    与手动 checkout 的双语迁移步骤。
  • The repository was renamed from BIRD2.vim to BIRD.vim with bilingual
    migration steps for vim-plug, Vundle, native packages, and manual checkouts.
  • 对外 filetype 仍为 bird2;既有 autocmd、映射、配置变量、runtime 文件名与
    :help bird2 均继续可用。
  • The public filetype remains bird2; existing autocmds, mappings,
    configuration variables, runtime filenames, and :help bird2 references
    continue to work.

Installation

Using vim-plug:

Plug 'bird-chinese-community/BIRD.vim', { 'tag': 'v1.0.13' }

The attached ZIP and tar.gz archives contain a directly installable Vim runtime.
Verify downloads with SHA256SUMS.