Commit Graph

17 Commits

Author SHA1 Message Date
Alex Palaistras b1eed71dee Improve formatting for help text
Grawkit Play Container Build / Container Build (push) Successful in 4m52s Details
Help text now expands on usage and default values for accepted
parameters, which should also help with providing configuration on the
Playground interface.
2024-04-09 00:23:35 +01:00
Alex Palaistras 6da6d8c20f Add command-line parsing for user configuration
This commit adds basic command-line parsing facilities for Grawkit, in
allowing for user-defined configuration values; a large number of
previously hard-coded values have now been exposed as command-line
options, allowing for greater variability in use.

Fixes: #12
2023-03-25 16:26:24 +00:00
Alex Palaistras 23bfc9f33d Make Grawkit POSIX-compatible, remove `gawk`-specific extensions
This commit removes `gawk`-specific extensions in Grawkit, making it work for any POSIX-compatible
AWK, with `gawk`, `nawk`, `busybox awk`, and `goawk` passing the test suite successfully.

The largest changes are related to removing `match` extensions for capturing groups; these were used
for parsing command-lines, and have now being handled in the `parse_command` function in a more robust
way.

Other small changes have been made to the included `Makefile` for allowing tests to run against
different AWK implementations.
2019-08-11 11:29:03 +01:00
Alex Palaistras fada2ba98e Handle and return errors correctly
This commit fixes handling for fatal errors, printing these to standard error and returning a
non-zero error code by checking for these in the `END` section, as required by Awk.
2019-08-08 20:49:34 +01:00
Alex Palaistras 892a5cec4d Render paths to end of time for branches with no final merges
This is orthogonal to behaviour for rendering paths from the beginning of time for branches created
before the first commit, and helps frame the history in a better way.
2019-08-06 12:51:57 +01:00
Alex Palaistras 72d1059416 Simplify merge handling, add more tests
This further simplifies handling of merges, which was made correct in commit 675e79c. We now
correctly set both source and destination commit references, where an empty source reference means
the base of the branch being merged into.
2019-08-06 12:29:25 +01:00
Liviu Seniuc 675e79c875
Quick fix
Quick and dirty solution @ merge source
2018-10-24 21:25:55 +03:00
Liviu Seniuc bfb175ec05
Update grawkit
reuse pallete (except black which is reserved for master)
2018-10-24 16:14:17 +03:00
Alex Palaistras 852a796f4a Fix documentation, function names, label text alignment
This commit contains a few minor fixes to documentation and function names, for clarity, and adds a
`textLength` attribute to `<text>` elements in labels, thereby ensuring that the text is contained
within the label.

Fixes #1
2018-01-13 14:14:55 +00:00
Alex Palaistras b5708197cf Add initial path for primary branch, fix font pitch to 0.5 of height
The primary branch (`master` or whichever other branch is the primary) has now
an automatic merge path that leads to the beginning of time, much like branches
that have been created before the first commit.

The font pitch is also fixed to half the height, as is usually the case with
monospace fonts.
2017-01-12 22:31:50 +00:00
Alex Palaistras 55cacf1c89 Fix bugs, styling, README.md 2016-12-31 18:19:50 +00:00
Alex Palaistras b194ffae2a Fix issues with incorrect canvas sizing, label font size 2016-12-28 22:18:50 +00:00
Alex Palaistras b956f428a6 Add `git tag` support, labels on sidebar for tags and branch names 2016-12-28 21:13:49 +00:00
Alex Palaistras b1291b4adf Moved tests, added color pallete for branches, fixed merges 2016-12-18 13:59:44 +00:00
Alex Palaistras d92ff6a050 Add support and tests for branching, merging 2016-12-18 01:59:20 +00:00
Alex Palaistras 94daa65ecf Change graph for vertical representation
Graphs are now drawn vertically, from top-to-bottom, which simplifies
the drawing algorithm in the case where commit titles, branch names and
tags have to be drawn.
2016-11-01 23:27:58 +00:00
Alex Palaistras 0e5eee146f First version of Grawkit, with simple single-branch test
This version has support for adding commits on a single branch using
`git commit`, and enough scaffolding for adding additional commands and
accompanying tests easily.
2016-10-30 23:17:54 +00:00