Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
c34fe37
feat(init): emit working git hook; add wrap-only sdiff fixtures
HaoZeke Sep 20, 2026
fd93961
fix(md): leftover type-6 void param track do not swallow following prose
HaoZeke Sep 20, 2026
1eee3f7
fix(rst): leftover wrap-created simple-table border skip-cut
HaoZeke Sep 20, 2026
877657b
fix(org): leftover bibtex eshell w3m plain links hang and wrap
HaoZeke Sep 20, 2026
7502a52
fix(rst): leftover wrap-created grid-table top skip-cut
HaoZeke Sep 22, 2026
d4e187a
fix(rst): leftover wrap-created jinja and anonymous target skip-cut
HaoZeke Sep 22, 2026
eb4aafc
fix(rst): leftover wrap-created plus-fragment skip-cut
HaoZeke Sep 22, 2026
b186986
fix(md): leftover closing fence rejects a non-space tail
HaoZeke Sep 22, 2026
9554a38
fix(org): leftover item bullet allows a tab
HaoZeke Sep 22, 2026
546309e
fix(latex): leftover wrap-created sectioning command skip-cut
HaoZeke Sep 22, 2026
2aa1f69
fix(md): leftover short setext underline is escaped
HaoZeke Sep 22, 2026
506b818
fix(org): leftover ordered marker past nine digits skip-cut
HaoZeke Sep 22, 2026
f2143ae
fix(rst): leftover bare colon paragraph opens a literal block
HaoZeke Sep 22, 2026
c92d4b4
fix(rst): leftover anonymous target keeps its indented link block
HaoZeke Sep 22, 2026
a623533
fix(org): leftover plain list ends on two blanks
HaoZeke Sep 22, 2026
5d56197
fix(md): leftover list marker remainder stays blocks
HaoZeke Sep 22, 2026
6a20f6e
fix(md): leftover footnote continuation keeps an ATX heading
HaoZeke Sep 22, 2026
34996f8
fix(md): leftover HTML type 6 and 7 blocks run to a blank line
HaoZeke Sep 22, 2026
8ca8425
fix(latex): leftover verb with an internal space stays one wrap token
HaoZeke Sep 22, 2026
945bb61
fix(org): leftover item ends at the bullet column
HaoZeke Sep 22, 2026
85e13fd
fix(org): leftover nested item returns to the parent list
HaoZeke Sep 22, 2026
09c51b6
fix(md): leftover hang-plus-four line stays in an open paragraph
HaoZeke Sep 23, 2026
4fdc8af
fix(latex): leftover smallmatrix body stays non-prose
HaoZeke Sep 23, 2026
0684fef
fix(latex): leftover xalignat body stays non-prose
HaoZeke Sep 23, 2026
cedd0db
fix(latex): leftover subarray body stays non-prose
HaoZeke Sep 23, 2026
a7d08a8
fix(latex): leftover CD diagram body stays non-prose
HaoZeke Sep 23, 2026
8bd2e82
fix(latex): leftover prooftree body stays non-prose
HaoZeke Sep 23, 2026
f60b98a
fix(latex): leftover empheq body stays non-prose
HaoZeke Sep 23, 2026
b84d99e
fix(latex): leftover intertext argument stays prose
HaoZeke Sep 23, 2026
1b6d77c
fix(latex): leftover numcases body stays non-prose
HaoZeke Sep 23, 2026
2e85574
fix(latex): leftover quantikz body stays non-prose
HaoZeke Sep 23, 2026
ab11c69
fix(latex): leftover yquant body stays non-prose
HaoZeke Sep 23, 2026
4ad7a55
chore(release): v0.11.7
HaoZeke Sep 23, 2026
ea7ad05
fix(release): keep zerovec at its crates.io version
HaoZeke Sep 23, 2026
1f0ec4e
style(docs): reflow the git filter howto
HaoZeke Sep 23, 2026
fbbfd51
fix(init): run the generated pre-commit hook with bash
HaoZeke Sep 23, 2026
8f7a629
test(init): lock the generated pre-commit hook to a bash shebang
HaoZeke Sep 23, 2026
a41439c
Merge branch 'main' into develop
HaoZeke Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 34 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,40 @@
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.

- - -
## Unreleased (main)
## v0.11.7 - 2026-09-23
#### Bug Fixes
- generated pre-commit hook runs under bash so the format loop runs on Ubuntu
- leftover LaTeX yquant body stays non-prose
- leftover LaTeX quantikz body stays non-prose
- leftover LaTeX numcases body stays non-prose
- leftover LaTeX intertext argument stays prose
- leftover LaTeX empheq body stays non-prose
- leftover LaTeX prooftree body stays non-prose
- leftover LaTeX CD diagram body stays non-prose
- leftover LaTeX subarray body stays non-prose
- leftover LaTeX xalignat body stays non-prose
- leftover LaTeX smallmatrix body stays non-prose
- leftover markdown hang-plus-four line stays in an open list paragraph
- leftover org nested item returns to the parent list
- leftover org item ends at the bullet column
- leftover LaTeX verb with an internal space stays one wrap token
- leftover markdown HTML type 6 and 7 blocks run to a blank line
- leftover markdown footnote continuation keeps an ATX heading
- leftover markdown list marker remainder stays blocks
- leftover org plain list ends on two blanks
- leftover RST anonymous target keeps its indented link block
- leftover bare colon paragraph opens an RST literal block
- leftover org ordered marker past nine digits skip-cut
- leftover short markdown setext underline is escaped
- leftover wrap-created LaTeX sectioning command skip-cut
- leftover org item bullet allows a tab
- leftover markdown closing fence with a non-space tail stays inside the code block
- leftover wrap-created RST plus-fragment skip-cut
- leftover wrap-created RST jinja statement and anonymous target skip-cut
- leftover wrap-created RST grid-table top skip-cut
- leftover type-6 void HTML (`param`/`track`) does not swallow following prose
- leftover wrap-created RST simple-table border skip-cut
- leftover org bibtex/eshell/w3m plain links hang and wrap

- - -

Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "snapper-fmt"
version = "0.11.6"
version = "0.11.7"
edition = "2024"
rust-version = "1.85"
description = "Semantic line break formatter for Org, LaTeX, Markdown, RST, and plaintext"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ Configuration guide (org source in-tree): `docs/orgmode/howto/mcp-integration.or
## Pre-commit hook

- repo: https://github.com/TurtleTech-ehf/snapper
rev: v0.11.6
rev: v0.11.7
hooks:
- id: snapper

Expand Down
2 changes: 1 addition & 1 deletion conda/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
schema_version: 1

context:
version: "0.11.6"
version: "0.11.7"

package:
name: snapper-fmt
Expand Down
6 changes: 3 additions & 3 deletions docs/orgmode/howto/ci-enforcement.org
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The easiest way to enforce semantic line breaks in CI.
Add to your workflow:

#+begin_src yaml
- uses: TurtleTech-ehf/snapper@v0.11.6
- uses: TurtleTech-ehf/snapper@v0.11.7
with:
files: '**/*.org **/*.tex **/*.md'
#+end_src
Expand All @@ -20,7 +20,7 @@ This installs snapper and runs =--check= on the specified files.
For GitHub Code Scanning integration (SARIF annotations on PRs):

#+begin_src yaml
- uses: TurtleTech-ehf/snapper@v0.11.6
- uses: TurtleTech-ehf/snapper@v0.11.7
with:
files: '**/*.org **/*.tex **/*.md'
sarif: 'true'
Expand All @@ -35,7 +35,7 @@ Add to =.pre-commit-config.yaml=:

#+begin_src yaml
- repo: https://github.com/TurtleTech-ehf/snapper
rev: v0.11.6
rev: v0.11.7
hooks:
- id: snapper
#+end_src
Expand Down
3 changes: 2 additions & 1 deletion docs/orgmode/howto/git-filter.org
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ This makes semantic line breaks transparent to collaborators who do not use snap
:CUSTOM_ID: setup
:END:

Configure the filter in your local git config:
=snapper init= writes this filter into the local git config as =snapper-fmt --native --stdin-filepath %f= (extension auto-detect; =snapper-fmt= avoids openSUSE's Btrfs =snapper=) plus a working pre-commit hook.
To configure it by hand:

#+begin_src bash
git config filter.snapper.clean "snapper --native --format org"
Expand Down
2 changes: 1 addition & 1 deletion docs/orgmode/howto/vale-integration.org
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ A typical workflow:

#+begin_src yaml
- repo: https://github.com/TurtleTech-ehf/snapper
rev: v0.11.6
rev: v0.11.7
hooks:
- id: snapper
- repo: https://github.com/errata-ai/vale
Expand Down
5 changes: 4 additions & 1 deletion docs/orgmode/reference/cli.org
Original file line number Diff line number Diff line change
Expand Up @@ -255,10 +255,13 @@ Detects which prose formats exist in the directory tree and generates:

- =.snapperrc.toml= with sensible defaults
- =.gitattributes= entries for the git smudge/clean filter
- pre-commit hook snippet
- a working =.git/hooks/pre-commit= (native parsers, prefers =snapper-fmt= so openSUSE Btrfs =snapper= does not collide) when run inside a git repository
- =filter.snapper.clean= / =smudge= in the local git config (=snapper-fmt --native --stdin-filepath %f=) so the attributes filter actually runs
- pre-commit framework snippet
- Apheleia (Emacs) configuration snippet

Use =--dry-run= to preview without writing files.
An existing pre-commit hook that was not generated by snapper is left alone.

*** =snapper sdiff <OLD> <NEW>=
:PROPERTIES:
Expand Down
41 changes: 30 additions & 11 deletions docs/orgmode/reference/formats.org
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,12 @@ The classification depends on the format.
- Comment lines (starting with =#= but not =#+= )
- Column-0 diary-sexp lines (=%%(...)=; org-element-diary-sexp-parser)
- Full headline lines (stars, optional TODO keyword, and title text)
- List item markers (=-=, =+=, =1.=); continuation sentences hang at the marker width
- List item markers (=-=, =+=, =1.=, including a tab after the bullet).
An ordered marker is one or more digits. A wrap cut that would park it at column 0 skip-cuts the token onto the previous line.
Continuation sentences hang at the marker width.
One blank line stays inside the item. Two blank lines end the plain list.
An item also ends at a line indented less than or equal to its bullet, so a two-space line stays in a column-0 item.
A line indented like a child bullet ends that child and stays in the parent
- LaTeX environments (=\begin{equation}= ... =\end{equation}=, =\begin{align}=, etc.). An unmatched =\begin{env}= is a paragraph (org-element latex-environment-parser)
- Display math (=\[= ... =\]=)
- Line breaks (org-element-line-break-parser: =\\= plus optional spaces or tabs at end of line)
Expand Down Expand Up @@ -90,15 +95,17 @@ These tokens within prose are not split across lines:
:CUSTOM_ID: latex-structure
:END:
- Preamble (everything before =\begin{document}=)
- Non-prose environments: equation, align, tabular, tikzpicture, and their starred variants (plus other non-code envs)
- Non-prose environments: equation, align, alignat, xalignat, xxalignat, empheq, cases, numcases, array, subarray, CD, prooftree, quantikz, yquant, matrix, smallmatrix, tabular, tikzpicture, and their starred variants (plus other non-code envs).
=\\intertext= and =\\shortintertext= arguments inside those displays stay prose
- Float chrome (=\begin{figure}= / =\centering= / =\end{figure}=, and =table= / starred variants): Structure.
The =\caption= long argument is Prose.
- Extra names from =[latex].structure_envs= in =.snapperrc.toml= (for example =algorithm=)
- Display math: =\[...\]=
- =\iffalse= through =\fi= (tree-sitter =block_comment=)
- Comment lines (starting with =%=)
- =\end{document}=
- Full sectioning command lines (=\section{...}=, =\subsection{...}=, and friends, including title text)
- Full sectioning command lines (=\section{...}=, =\subsection{...}=, KOMA =\addsec= / =\addchap= / =\addpart=, including an optional short title and the title text).
A wrap cut that would park one of those commands at column 0 skip-cuts the token onto the previous line

*** Code regions (=minted=, =lstlisting=, =verbatim=, =comment=, =Piton=)
:PROPERTIES:
Expand Down Expand Up @@ -136,7 +143,8 @@ These tokens within prose are not split across lines:
- Extra names from =[latex].verbatim_envs= are code regions too
- Body follows the same comment-reflow and optional =--format-code= rules as other formats when language is known (=minted= / =minted*= language arg, =lstlisting= / =lstlisting*= =language== option)
- Inline leftover =\verb= / =\verb*= / leftover =\lstinline= / leftover =\spverb= / leftover =\mintinline= / leftover =\mint= / leftover fancyvrb =\Verb= / =\Verb*= / leftover =\SaveVerb= / leftover =\UseVerb= / leftover =\UseVerbatim= / leftover =\LUseVerbatim= / leftover =\BUseVerbatim= / leftover =\DefineShortVerb= / =\UndefineShortVerb= / leftover fvextra =\EscVerb= / leftover fvextra =\VerbatimInsertBuffer= / =\VerbatimClearBuffer= / =\InsertBuffer= / =\IterateBuffer= / =\VerbatimInput= / =\BVerbatimInput= / =\LVerbatimInput= / piton.sty leftover =\piton= / =\PitonInputFile= / =\PitonInputFileT= / =\PitonInputFileF= / =\PitonInputFileTF= / listings.sty =\lstinputlisting= / minted.sty =\inputminted= / tools/verbatim.sty =\verbatiminput= / tcolorbox =\tcbinputlisting= / pythontex.sty =\inputpy= / =\inputpycon= / leftover inline =\py= / =\pyc= / =\pys= / =\pyb= / =\pyv= / =\pycon= and twins / =\sympy= / =\pylab= and twins / leftover usefamily =\ruby= / =\rb= / =\julia= / =\jl= / =\matlab= / =\octave= / =\bash= / =\sage= / =\rust= / =\rs= / =\R= / =\perl= / =\pl= / =\perlsix= / =\psix= / =\javascript= / =\js= and twins / =\inputpygments= / =\pygment= / leftover =\pythontexcustomc= / pythonhighlight.sty =\inputpython= / =\inputpythonfile= / leftover =\pyth= / catchfilebetweentags.sty =\CatchFileBetweenTags= / =\CatchFileBetweenDelims= / =\ExecuteMetaData= / catchfile.sty leftover =\CatchFileDef= / =\CatchFileEdef= / moreverb =\listinginput= / leftover =\verbatimtabinput= / =\verbatimtabinput*= / leftover =\verbatimwrite= / =\verbatimwrite*= / leftover =\listingcont= / sagetex =\sageinput= / leftover inline =\sageplot= / =\sagestr= / scontents leftover =\Scontents= / =\Scontents*= / =\typestored= / =\getstored= / =\mergesc= / =\meaningsc= / =\foreachsc= (and extra =[latex].verbatim_commands=) stay atomic; inner =.!?%= do not split or comment.
leftover =\verb= / =\verb*= / =\lstinline= / =\spverb= take a delimiter or, for =\lstinline=, optional =[...]= then a delimiter or ={...}=; a flush following sentence stays on its own line
leftover =\verb= / =\verb*= / =\lstinline= / =\spverb= take a delimiter or, for =\lstinline=, optional =[...]= then a delimiter or ={...}=; a flush following sentence stays on its own line.
A width wrap keeps a space inside that delimiter on the same line
leftover =\mintinline= / =\mint= take optional =[...]=, ={lang}=, then a delimiter or ={...}= body; a flush following sentence stays on its own line
leftover =\SaveVerb= takes optional =[...]=, a ={name}=, then the same delimiter body as =\Verb=; a flush following sentence stays on its own line
leftover =\UseVerb= / =\UseVerb*= take optional =[...]= then a ={name}=; leftover =\UseVerbatim= / =\LUseVerbatim= / =\BUseVerbatim= take optional =[...]= then a ={name}=; a flush following sentence stays on its own line
Expand Down Expand Up @@ -187,8 +195,11 @@ These tokens within prose are not split across lines:
- Front matter (=---= or =+++= delimited at file start)
- Full ATX heading lines (=#= … =######= including title text)
- Empty ATX headings (a mark line with no title text) stay Structure
- Setext headings (title line plus ====== or ------ underline)
- List item markers (=-=, =*=, =+=, =1.=); continuation sentences hang at the marker width
- Setext headings (title line plus a line of one or more = or - characters).
A wrap cut that would park a short underline at column 0 escapes it
- List item markers (=-=, =*=, =+=, =1.=); continuation sentences hang at the marker width.
A line indented four spaces past the marker stays in an open item paragraph. After a blank line it is indented code.
A fence, ATX heading, thematic break, HTML block, or GFM table in the marker remainder stays a block
- Empty list markers (including quoted) stay Structure
- Definition-list terms and =: = markers (pulldown =ENABLE_DEFINITION_LIST=); the body hangs at the marker width
- Blockquote markers (=>= / nested => > =); continuation sentences repeat the quote prefix
Expand All @@ -198,15 +209,16 @@ These tokens within prose are not split across lines:
- GFM footnote definitions (=[^label]:=); the marker is Structure and the body hangs
- Hard line breaks (two trailing spaces, or a trailing backslash)
- HTML comments (=<!-- ... -->=, including multiline); =<!-- snapper:off -->= / =<!-- snapper:on -->= remain pragmas
- Closed type-6 and type-7 HTML blocks end at the matching close tag; following prose stays Prose
- Void type-6 tags (=<hr>= / =<col>= / =<link>= / =<base>=) end on the tag line; they have no closer, so leftover following prose stays Prose even without a blank
- Type-6 and type-7 HTML blocks run to the next blank line. A matching end tag does not end the block
- Void type-6 tags (=<hr>= / =<col>= / =<link>= / =<base>= / =<param>= / =<track>=) end on the tag line; they have no closer, so leftover following prose stays Prose even without a blank
- Pipe tables

*** Code regions (fenced =```= / =~~~=)
:PROPERTIES:
:CUSTOM_ID: markdown-code
:END:
- Opening and closing fence lines are structure
- Opening and closing fence lines are structure.
A closing fence may be followed only by spaces or tabs; any other tail stays inside the code block
- Indented fence bodies preserve indentation on reflowed comment lines
- Language from the fence info string selects =[code.<lang>]=; unknown or missing lang passes the body through unchanged (unless =--format-code= is not applicable without a formatter entry)

Expand All @@ -217,7 +229,8 @@ These tokens within prose are not split across lines:
- Paragraph text
- List item text (after the marker); continuation sentences hang at the marker width
- Definition-list body (after the =: = marker); continuation sentences hang at the marker width
- GFM footnote-definition body (after =[^label]:=); continuation sentences hang at the marker width
- GFM footnote-definition body (after =[^label]:=); continuation sentences hang at the marker width.
An ATX heading in that continuation stays one structure line
- Blockquote inner text (after the =>= marker); continuation sentences repeat the quote prefix

*** Inline tokens (kept atomic)
Expand All @@ -243,9 +256,15 @@ These tokens within prose are not split across lines:
- Container directive openers (=.. note::=, =.. warning::=, =.. figure::=, =.. topic::=, =.. sidebar::=, =.. container::=, leftover =.. parsed-literal::=, =.. epigraph::=, =.. highlights::=, =.. pull-quote::=, =.. compound::=, =.. header::=, =.. footer::=) and their =:option:= fields; the indented body is prose
- Same-line body after =::= on those containers, leftover =.. parsed-literal::=, =.. header::=, =.. footer::=, =.. |name| replace::=, and =.. meta::= fields hangs and splits.
Flush bibliographic fields close a meta leftover
- Literal blocks (text after =::= with indented or line-prefix-quoted content)
- Literal blocks (text after =::= with indented or line-prefix-quoted content).
A paragraph whose text is only =::= is that marker. A two-character title underlined with =::= stays a section
- Section titles and underlines (=====, =-----=, etc.).
A wrap cut that would park a solid Docutils =Body.line= adornment at column 0 skip-cuts the token onto the previous line (snapper-7xd3)
A wrap cut that would park a Docutils simple-table border at column 0 skip-cuts the token onto the previous line (snapper-2knx)
A wrap cut that would park a Docutils grid-table top (=+---+=) at column 0 skip-cuts the token onto the previous line
A wrap cut that would park a Jinja statement (=\{% ... %\}=) or a Docutils anonymous target (=__ uri=) at column 0 skip-cuts the token onto the previous line.
The indented link block under that target stays structure until a blank
A wrap cut that would park a leftover plus fragment (=+===+=, =+foo=) at column 0 skip-cuts the token onto the previous line
- Field lists (=:Author:=, =:Date:=, etc.)
- Empty list items, empty doctest openers, and empty field-list markers at EOL stay Structure
- Comments (=..= without a directive)
Expand Down
2 changes: 1 addition & 1 deletion docs/orgmode/tutorials/quickstart.org
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ Add to your =.pre-commit-config.yaml=:

#+begin_src yaml
- repo: https://github.com/TurtleTech-ehf/snapper
rev: v0.11.6
rev: v0.11.7
hooks:
- id: snapper
#+end_src
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
project = "snapper"
copyright = '2026--present, <a href="https://rgoswami.me">Rohit Goswami</a>'
author = "Rohit Goswami"
release = "0.11.6"
release = "0.11.7"
html_logo = "../../branding/logo/snapper_logo.png"

extensions = [
Expand Down
2 changes: 1 addition & 1 deletion editors/obsidian/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "snapper",
"name": "Snapper - Semantic Line Breaks",
"version": "0.11.6",
"version": "0.11.7",
"minAppVersion": "1.0.0",
"description": "Format prose with semantic line breaks for clean git diffs. Supports Org-mode, LaTeX, Markdown, and plaintext.",
"author": "TurtleTech",
Expand Down
6 changes: 3 additions & 3 deletions editors/obsidian/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion editors/obsidian/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "obsidian-snapper",
"version": "0.11.6",
"version": "0.11.7",
"private": true,
"description": "Obsidian plugin for snapper semantic line break formatter",
"scripts": {
Expand Down
4 changes: 2 additions & 2 deletions editors/vscode/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# snapper - Semantic Line Breaks

Requires the **snapper** / **snapper-fmt** CLI **0.11.6+** on your PATH (or set `snapper.path`).
Requires the **snapper** / **snapper-fmt** CLI **0.11.7+** on your PATH (or set `snapper.path`).
The crate is `snapper-fmt`; installers ship both names.
If [openSUSE snapper](https://github.com/openSUSE/snapper) already owns `/usr/bin/snapper`, call `snapper-fmt` or set `snapper.path`.
Install: `cargo install snapper-fmt` or the [release installer](https://github.com/TurtleTech-ehf/snapper/releases/tag/v0.11.6).
Install: `cargo install snapper-fmt` or the [release installer](https://github.com/TurtleTech-ehf/snapper/releases/tag/v0.11.7).


Format prose so each sentence occupies its own line, producing clean git diffs for collaborative writing.
Expand Down
2 changes: 1 addition & 1 deletion editors/vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "snapper",
"displayName": "snapper - Semantic Line Breaks",
"description": "Format prose with semantic line breaks for clean git diffs",
"version": "0.11.6",
"version": "0.11.7",
"publisher": "TurtleTech",
"license": "MIT",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions editors/word/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Office add-in that formats document prose with **semantic line breaks** (one sentence per line) using the **snapper WASM** build (`@snapper/wasm`). Useful when drafting in Word and exporting to Org, Markdown, or LaTeX for git-friendly diffs.

**Version:** 0.11.6 (tracks snapper-fmt)
**Version:** 0.11.7 (tracks snapper-fmt)

Development preview; not published in AppSource.

Expand Down Expand Up @@ -34,7 +34,7 @@ CI builds the Word add-in in `.github/workflows/wasm.yml` (`build-word` job).

## Relationship to the CLI

Word uses the **plaintext** format path in WASM. For Org/LaTeX fidelity, prefer the CLI or VS Code extension (LSP). Delimiter-span and abbreviation behavior matches the current WASM API (requires snapper **0.11.6+**).
Word uses the **plaintext** format path in WASM. For Org/LaTeX fidelity, prefer the CLI or VS Code extension (LSP). Delimiter-span and abbreviation behavior matches the current WASM API (requires snapper **0.11.7+**).

## License

Expand Down
2 changes: 1 addition & 1 deletion editors/word/manifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
xsi:type="TaskPaneApp">
<Id>a8f3c2e1-9b4d-4e7a-8c5f-1d2e3f4a5b6c</Id>
<Version>0.11.6</Version>
<Version>0.11.7</Version>
<ProviderName>TurtleTech ehf</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Snapper — Semantic Line Breaks"/>
Expand Down
Loading
Loading