Alec Thomas
da5ac60d8c
Add golangci-lint and fix all lint issues.
2018-12-31 22:46:59 +11:00
Alec Thomas
2a59c2c77e
Synthesise meta style-entries on demand.
...
This includes line highlighting, numbers, etc.
Fixes #211 .
2018-12-31 11:33:36 +11:00
Alec Thomas
69c9a262c3
Expose Colour.BrightenOrDarken (useful for #211 ).
2018-12-31 10:48:45 +11:00
Alec Thomas
881a441774
Don't keep trailing empty tokens when splitting tokens by line.
...
Fixes #155 . Fixes #209 .
2018-12-27 16:20:38 +11:00
Alec Thomas
fb4c38e204
Fix build (see #190 ).
2018-11-08 17:16:58 +11:00
Randall C. O'Reilly
a4f179974b
move SplitTokensIntoLines into chroma/iterator.go, fixes issue #190
2018-11-08 16:21:45 +11:00
Daniel Eloff
9c3abeae1d
Tokens by value ( #187 )
...
This results in about a 8% improvement in speed.
2018-11-04 10:22:51 +11:00
Felix Knischewski
e36baa268a
Add option to prevent surroundign pre tags
2018-09-18 19:44:44 +10:00
Kaushal Modi
371820dad6
Assign .gl class to GenericUnderline; add CSS rules for the same
...
'l' in gl is for under(l)ine, as the "gu" class is taken by
GenericSubheading.
- Rules for GenericUnderline are added to all the styles
- Make "Underline" style insert "text-decoration: underline" in CSS.
Fixes https://github.com/alecthomas/chroma/issues/159 .
2018-08-01 17:28:52 -04:00
Alec Thomas
0961f82bc3
Fix nearest colour matching.
...
This was caused by precision loss due to using uint8. The cast to int64
was occurring in the wrong location.
Fixes #145 .
2018-06-25 20:48:31 +10:00
Alec Thomas
3020e2ea8c
Fix bug with nested newlines.
...
Fixes #124 .
Also reinstitute lexer tests that disappeared during package split.
2018-03-03 10:16:21 +11:00
John Millikin
aaa96c6984
Avoid adding an HTML prefix to empty class names.
...
This makes the raw markup a bit cleaner when there's lots of `Text`
tokens.
2018-02-25 19:46:48 +11:00
John Millikin
d7ee3c10b0
Add newlines in line number spans when wrapping in an HTML table.
...
Since these are wrapped in a `<pre>`, newlines hint the browser that the
line numbers should be on separate lines. This helps when rendering
content with broken CSS, or in a text-only browser.
2018-02-25 17:52:15 +11:00
John Millikin
df4ec264da
Render HTML class prefixes.
2018-02-18 14:58:46 +11:00
Alec Thomas
563aadc53c
Moved lexers into alphabetical sub-packages.
...
This was done to speed up incremental compilation when working on
lexers. That is, modifying a single lexer will no longer require
recompiling all lexers.
This is a (slightly) backwards breaking change in that lexers are no
longer exported directly in the lexers package. The registry API is
"aliased" at the old location.
2018-02-15 21:09:02 +11:00
Alec Thomas
e4cd1649a3
Ensure that HTML code column expands to full width of container.
...
Fixes #114 .
2018-02-11 21:14:56 +11:00
MunifTanjim
03fd03809c
fix func compressStyle(s string)
for CSS Shorthand properties
2018-02-11 19:10:59 +11:00
Alec Thomas
71ddf5511a
Fix README for test fixtures.
2018-01-02 20:59:02 +11:00
Alec Thomas
e56590a815
Add data-driven test framework for lexers.
...
See #68 .
2018-01-02 14:53:25 +11:00
Denis Brodbeck
c9f612c194
Fix broken css rules output
...
Strip leading semicolons in combination with line numbers.
fixes #98
2017-12-11 21:20:14 -08:00
hexasoftware
03b0c0d6bb
Changed terminal16m to semicolons ( #64 )
...
Most terminals seems to use semicolons in true colors:
https://gist.github.com/XVilka/8346728
2017-10-17 15:04:12 +11:00
Bjørn Erik Pedersen
02c4adc066
Add a chroma class wrapper when in "table mode" ( #63 )
...
This commits adds a div wrapper when linenumbers are formatted in table, to get the correct CSS matchers.
This commit also fixes some CSS table issues when tables are put into a larger context with other stylesheets:
* No borders.
* Overflow to fit in potentially narrower containers.
Fixes #62
2017-10-14 20:02:40 +11:00
Depado
4a55aefee6
Adding HasClasses method for HTML formatter ( #61 )
...
* Adding HasClasses method for HTML formatter
* Removing helper function and simply export the field
2017-10-14 08:41:40 +11:00
Bjørn Erik Pedersen
27733ac753
Add table styled line numbers ( #54 )
...
Fixes #52
2017-10-13 10:49:20 +11:00
Alec Thomas
0e0960930d
Don't output trailing \n for HTML-only fragment.
...
See #47 .
2017-09-30 14:45:37 +10:00
Alec Thomas
573c1d157d
Ensure a newline exists at the end of files.
...
Fixes #42 .
2017-09-29 21:59:52 +10:00
Alec Thomas
33f604c892
Always use CSS class from StandardTypes.
...
As opposed to remapping to classes that exist in the current style.
2017-09-27 22:05:47 +10:00
Alec Thomas
80d3b96869
Ensure class names from default set exist.
2017-09-27 22:01:03 +10:00
Alec Thomas
bc2d6680e4
Run gofmt -s over the codebase.
2017-09-26 22:05:55 +10:00
Alec Thomas
bdc1124369
Switch to Pygments-style CSS class names.
...
Add GitHub theme + CSS to style importer.
2017-09-25 21:46:25 +10:00
Alec Thomas
b0295f66bd
Remove spurious newline in HTML output.
...
Fixes #29 .
2017-09-25 15:25:32 +10:00
Alec Thomas
c984ca45c7
Add html.BaseLineNumber(n).
...
Fixes #22 .
2017-09-24 20:33:50 +10:00
Alec Thomas
1af7e1a0bc
Adjust line number padding a bit.
2017-09-23 22:45:05 +10:00
Alec Thomas
d5083b3f7c
Big changes to the style and colour APIs.
...
- Styles now use a builder system, to enforce immutability of styles.
- Corrected and cleaned up how style inheritance works.
- Added a brightening function to colours
- HTML formatter will now automatically pick line and highlight colours
if they are not provided in the style. This is done by slightly
darkening or lightening.
Fixes #21 .
2017-09-23 22:09:46 +10:00
Alec Thomas
8170d52c25
Remove dependency on go-colorful.
...
Switched to a less accurate (but much simpler) colour distance function
as described here: https://www.compuphase.com/cmetric.htm
Fixes #17 .
2017-09-22 23:00:03 +10:00
Alec Thomas
1724aab879
Implement compile-time lexer mutators.
...
This should fix #15 .
2017-09-21 20:02:53 +10:00
Alec Thomas
551f7cee9a
Return errors for invalid styles, rather than panicking.
2017-09-21 12:52:08 +10:00
Alec Thomas
e2d6abaa64
Document and add iterator panic recovery.
2017-09-20 23:06:23 +10:00
Alec Thomas
cc0e4a59ab
Switch to an Iterator interface.
...
This is to solve an issue where writers returned by the Formatter
were often stateful, but this fact was not obvious to the API consumer,
and failed in interesting ways.
2017-09-20 22:19:36 +10:00
Alec Thomas
3f941ddff4
Correctly add styles for line numbers and line highlights when inling.
...
Fixes #7 . Fixes #9 .
2017-09-20 20:32:15 +10:00
Alec Thomas
a5637e60b2
Support for highlighting ranges of lines.
2017-09-20 14:24:49 +10:00
Alec Thomas
3f230ec717
Add support for line numbers.
2017-09-20 13:33:44 +10:00
Alec Thomas
feb78ed6f3
Combine HTML formatting functions.
2017-09-19 23:04:10 +10:00
Alec Thomas
87183b3633
Add HTML formatter option for setting the tab width.
2017-09-19 13:14:29 +10:00
Alec Thomas
d80c30ae4e
Sort formatters and styles Names().
2017-09-19 11:31:51 +10:00
Alec Thomas
c259129e64
Rename "raw" to "tokens", as it makes more sense.
2017-09-19 11:12:07 +10:00
Alec Thomas
fbc889aad6
Correct HTML output + add R/S.
...
Fixes #1 , #2 , #3 .
2017-09-19 10:30:10 +10:00
Alec Thomas
c8636118d5
Remove unused dark/light style type.
2017-09-18 14:19:59 +10:00
Alec Thomas
1374cf9ffb
More README.
2017-09-18 13:59:11 +10:00
Alec Thomas
431e913333
Update documentation. Include "quick" package.
2017-09-18 13:15:07 +10:00