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.

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.2.1
  hooks:
    - id: snapper

Emacs (Apheleia)

Bættu við í Emacs stillinguna þína:

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

Þetta keyrir snapper við vistun fyrir Org-mode minnissvæði.