To allow for toggling table/inline line numbers and to make the API compatible with Pygments, I suggest making linenos optionally be a string, ref:
linenos
If set to 'table', output line numbers as a table with two cells, one containing the line numbers, the other the whole code. This is copy-and-paste-friendly, but may cause alignment problems with some browsers or fonts. If set to 'inline', the line numbers will be integrated in the <pre> tag that contains the code (that setting is new in Pygments 0.8).
For compatibility with Pygments 0.7 and earlier, every true value except 'inline' means the same as 'table' (in particular, that means also True).
The default value is False, which means no line numbers at all.
Note that I would be happy to do the work below, if you agree that this is OK
WithCodeBlockOptions func(CodeBlockContext)[]chromahtml.Option
linenos
optionally be a string, ref:E.g
linenos=true
,linenos=table
,linenos=inline
,linenos=false
And finally
WithLineNumbersInTable
,WithLineNumbers
options, which would allow for default values for the above.