AgeCommit message (Collapse)AuthorLines
Harden the blob view error pathsBryce Kwon-7/+15
A blob requested by ref with an unknown path fell through to the commit object and was served with a 200 instead of a 404. Two error pages passed a null pointer to a %s format when the request carried no object id, and the error pages left the layout open.
Cast signed chars before ctype callsBryce Kwon-2/+2
A plain char is undefined in the ctype functions for negative values, which a high byte produces wherever char is signed.
Add built-in syntax highlightingBryce Kwon-1/+8
Highlighting previously required a source filter shelling out to something like Pygments. A configured source filter still takes precedence, every character is preserved so the line gutter stays aligned, and large files are skipped.
Add enable-tree-group-dirs to list dirs firstBryce Kwon-5/+60
Reorganise into source, assets and librariesBryce Kwon-0/+0
Everything the build generates now lands in build/, so a clean is a single remove and the source tree stays free of build output.