Adds a few fixes for when using code blocks with lines numbered
- Use CSS variables for the colours so that it works in dark mode
- Don't turn on normal table effects like hover and smaller font when
its a line number table
- With dochack.nim, don't add a clipboard copy button for the line
numbers at the side
[Example page showing the
changes](https://66dcde6e4a655efb70771d9a--dazzling-kitten-6c3419.netlify.app/)
Because of the bug in `tools/parse_unicodedata.nim`, CJK Ideographs were
not considered letters in `isAlpha()`, even though they have category
Lo. This is because they are specified as range in `UnicodeData.txt`,
not as separate characters:
```
4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
9FEF;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
```
The parser was not prepared to parse such ranges and thus omitted almost
all CJK Ideographs from consideration.
To fix this, we need to consider ranges from `UnicodeData.txt` in
`tools/parse_unicodedata.nim`.
* Initial structure, `GitTags` → `GitRefsTags`
* Determine if we should use v prefix
* get tag from latest tag, patch nimble file
* Just do tags for now
* atlas tag now tags and pushes
* Improve UX of `atlas tag`
* better description for `tag`
* Small fixup
* Consistent naming
* strip after checking status
* Take major/minor/patch as arg for `atlas tag`
* undo testing comment
* Fix for `v` prefixed versions
* Avoid useless assignment
* Remove uselss enum assignment
* Consistent parameter seperation
* Add error handling for non-semver tags
* Use `assert` to quit on error
* Update tools/atlas/atlas.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Don't push tags if errors occurred
* Allow `atlas tag [tag]` again
* Add atlas tag `a..z` for fields > 3
* Document the three input options
* Take up less lines in help
* Less or in help
* One last doc pass
* Check args length
* clarify last tag
* consistency/order
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Get description and license from github json response
* Allow running `atlas search` outside of a workspace
* Check `len` instead of `dirExists`
* make `list` identical to `search`
* Fix custom objects, fix handling of nil variables
* Rename because lldb complains about dashes in filename
* Add example of how to use custom type formatting from Nim
* Add synthetic objects with dynamic fields and add an example
* Add support for orc strings
* Cleaned up testing script
Enums now printing properly
Merged both old and new strings into the one printer
Moving onto sets which seem kinda difficult
* Sets working
Instead of trying to imitate how Nim represents enums, I just call the dollar proc for each enum value
While this runs into problems if the user doesn't call the dollar proc anywhere, I believe its a decent tradeoff
I've cleaned up the error message for when it cannot find dollar proc (Might add in proper message on how to fix)
* Support sequences
V2 runtime seems to have sequences that don't have a len (Guessing its some kind of short seq optimisation?) but I've rolled
the implementation into normal sequences since the implementation is practically the same
* Clean up test program so it isn't using diff
Also don't redirect the first nim compile to /dev/null so that we can check for any compilation errors
I found the diff to be annoying to read (Seeing as the test script already performs diffing)
* Tables are now supported
* Add colours to test output
It was getting difficult to tell apart test output from GDB output so I added colour to better tell them apart
* Both old and new runtime are working
Set exit code in python test script so that this could possibly be added to the CI. Only issue is that it can be flaky (GDB crashes randomly for some reason)
* Remove old code that was commented out
If I need it later I'll just use git
* Remove branch that never runs
* Remove the old test output [skip ci]