-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitattributes
More file actions
55 lines (47 loc) · 1.96 KB
/
Copy path.gitattributes
File metadata and controls
55 lines (47 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Line-ending normalization (maize-62).
#
# Force LF on checkout for text sources regardless of the platform's
# core.autocrlf setting. The windows-latest GitHub Actions runner checks out
# with core.autocrlf=true; without this file, C sources arrive with CRLF.
# cproc is a strict C11 front-end and does not treat a bare CR as whitespace,
# so a stray CR (e.g. right after a block comment's closing */) is parsed as a
# token at file scope and the C hello-world pipeline fails. The mazm assembler
# and the shell/build tooling likewise assume LF. Pinning eol=lf here makes a
# fresh checkout parse cleanly on every platform.
# C sources fed to cproc MUST be LF.
*.c text eol=lf
*.h text eol=lf
# C++ sources (the VM and its tests). These were unpinned until maize-465, so a
# Windows editor that rewrote a whole file on save stored it with CRLF and the
# commit read as a whole-file rewrite instead of the handful of lines that
# actually changed. Pinning them keeps a diff readable and keeps two cards
# editing the same file from conflicting on every line.
*.cpp text eol=lf
*.hpp text eol=lf
*.cc text eol=lf
*.hh text eol=lf
# Assembler / toolchain text inputs and IL.
*.mazm text eol=lf
*.ssa text eol=lf
*.qbe text eol=lf
*.asm text eol=lf
# Build, CI, and test scripting.
*.sh text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.ps1 text eol=lf
# Fixtures compared byte-for-byte against captured stdout.
*.expected text eol=lf
# Documentation / config text.
*.md text eol=lf
*.txt text eol=lf
*.json text eol=lf
# Binary assets must never be line-ending-normalized (keeps asm/hello.mzb and any
# other binaries byte-identical across checkouts). The Maize file-format family:
# .mzb flat images, .mzo relocatable objects, .mzx linked executables.
*.mzb binary
*.mzo binary
*.mzx binary
# Committed binary test fixtures (e.g. demos/doom/testdata/doomread.bin, the DOOM WAD-read
# self-check input) must stay byte-exact: never line-ending-normalize them.
*.bin binary