Byrjun

Uppsetning

Pre-built binary (fastest, no compilation):

cargo binstall snapper-fmt

Or compile from source:

cargo install snapper-fmt

Shell one-liner (Linux/macOS):

curl -LsSf https://github.com/TurtleTech-ehf/snapper/releases/latest/download/snapper-fmt-installer.sh | sh

Homebrew (macOS/Linux):

brew install TurtleTech-ehf/tap/snapper-fmt

pip:

pip install snapper-fmt

Nix:

nix build github:TurtleTech-ehf/snapper

The crate is snapper-fmt on all registries; the binary it installs is snapper.

Grunnnotkun

Sníða skrá, prenta á stdout:

snapper paper.org

Sníða á staðnum:

snapper --in-place paper.org

Sigta í gegnum stdin (fyrir samþættingu við ritil):

cat draft.org | snapper --format org

Hvað gerir það

Fyrir málsgrein eins og þessa:

This is the first sentence. It continues with more details about the topic. See Fig. 3 for the results.

snapper framleiðir:

This is the first sentence.
It continues with more details about the topic.
See Fig. 3 for the results.

Hver setning tekur sína eigin línu. Uppbyggingareiningar eins og kóðablokkir, töflur, skúffur, stærðfræðiumhverfi og framefni fara í gegn óbreytt.

Sniðgreining

snapper sjálfgreinir sniðið frá skráarendingu:

  • .org – Org-mode

  • .tex, .latex – LaTeX

  • .md, .markdown – Markdown

  • Allt annað – ósniðinn texti

Hnekkja með --format:

snapper --format latex draft.tex

Setningamunur

Berðu saman tvær útgáfur af skrá á setningastigi, án tillits til endurumbrots á bilum:

snapper sdiff paper_v1.org paper_v2.org

Aðeins raunverulegar efnisbreytingar birtast. Endurumbrot (endurumbrotsröðun) á sama texta skilar engum mun. Gagnlegt til að yfirfara breytingar samstarfsaðila á sameiginlegum greinum.

Fylgjast með

Sjálfvirkt endurumbrot skráa við vistun:

snapper watch '*.org' 'sections/*.tex'

Fylgist með skrám og keyrir --in-place við breytingu (200ms tafir). Ýttu á Ctrl+C til að stöðva.

Uppsetning verkefnis

Frumstilltu snapper fyrir nýtt verkefni:

snapper init

Greinir hvaða snið eru til staðar og býr til .snapperrc.toml, .gitattributes, pre-commit stillingar og Apheleia búta. Notaðu --dry-run til að forskoða.

MCP server (AI assistants)

Expose snapper to Claude Desktop, Claude Code, and other MCP clients:

{
  "mcpServers": {
    "snapper": {
      "command": "npx",
      "args": ["@turtletech/snapper-mcp"]
    }
  }
}

See MCP Integration for details.

CI samþætting

Notaðu --check stillingu til að staðfesta sníðmótun án þess að breyta skrám. Hættir með kóða 1 ef einhver skrá myndi breytast:

snapper --check paper.org

Fyrir GitHub Code Scanning, notaðu SARIF úttak:

snapper --check --output-format sarif paper.org > snapper.sarif

Pre-commit hook

Bættu við í .pre-commit-config.yaml:

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

Editor integration

VS Code

Install TurtleTech.snapper from the Marketplace. Provides format-on-save, range formatting, diagnostics, and code actions out of the box.

Neovim

See the snapper.nvim plugin for full LSP integration, or use formatprg:

autocmd FileType org setlocal formatprg=snapper\ --format\ org

Emacs (Apheleia)

(with-eval-after-load 'apheleia
  (push '(snapper . ("snapper" "--format" "org")) apheleia-formatters)
  (push '(org-mode . snapper) apheleia-mode-alist))

Obsidian

Install from Community Plugins (search „Snapper“). Uses WebAssembly – no binary needed.

Word

Install the snapper add-in from AppSource (Insert > Get Add-ins > search „Snapper“). Uses WebAssembly – no binary needed.

See Editor Integration for Vim, Helix, eglot, conform.nvim, and other setups.