| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
(sorry, I forgot that the docstrings are part of _mapping.py)
|
|
|
|
| |
Fixes #2396
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Porting notes:
- tox handles Python environments automatically. Remove a bit of PYTHONPATH
manipulation (that was using Python 2 code which always failed!)
- No `clean` target: `git clean -xdf` should fit the bill.
- No `reindent` target: the `reindent.py` script it was using does not
exist (anymore?).
- No equivalent of tox-test-coverage, which was an artifact of the past,
using nose. Instead, the test-coverage target only is ported, which
uses pytest, and works.
|
| |
|
|
|
|
|
| |
Some of these are probably unnecessary (ASCII-only content), but it's
easier not to think about it.
|
|
|
|
|
|
|
|
| |
This introduced a performance regession. While it is true that
fnmatch already uses functools.lru_cache, that cache is limited to 256
on python 3.10 and older and we have over 1000 matching patterns, which
means the cache is evicted entirely on every iteration.
This reverts commit 951c894ab23537be90fbf3973d0345591e682371.
|
| |
|
| |
|
|
|
|
| |
fix line endings insertion
|
| |
|
| |
|
|
|
|
| |
These are irrelevant because the fnmatch module implementation already
uses functools.lru_cache.
|
|
|
|
|
|
|
|
|
| |
Use a unified script, to reduce code duplication and in preparation
for doing a similar thing with styles and filters. The new script
also uses a bit more modern Python APIs (e.g., pathlib).
Unlike the previous scripts, it does not replace replace CRLF with LF
because Git should do that itself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix #632.
The doc string indicates that the linenos table is wrapped in <div class="highlight">,
but the actual implementation puts the <div> inside the table cell containing the code.
This seems to cause issues as explained in #632, and given it doesn't match the
documentation, this PR restores the original behavior.
* Fix sample code in comment.
* Update CHANGES.
* Refactor the wrapping logic.
Instead of calling _wrap_div() at the end of wrap(), _wrap_div()
is now called after wrap/_wrap_tablinelinenos. This yields the
desired behavior but removes the custom <div> generation code.
|
| |
|
| |
|
|
|
|
|
| |
`anchorlinenos=True`, (#2026)
the generated anchor links should be `#foo-42` and not `#-42`.
|
| |
|
| |
|
|
|
|
|
| |
Some formatters did not backtrack to parent token types correctly when
trying to find a matching style.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a tooltips option to HtmlFormmater.
* Rename option tooltips to debug_token_types.
* Use explicit if block.
* Fix check.
* Document how to use the new debug_token_types option for the HTML formatter.
* Remove output redirection from example call.
|
| |
|
| |
|
|\
| |
| |
| | |
marcinzelent-master
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
| |
check source code of `python-ctags` and `python-ctags3` to see what
argument type is expected (answer: `char *`);
guess this is python 2 legacy; but now it should work in python 3;
|
|
|
|
|
|
|
|
|
| |
* Filename to <th> if linenos=table (fixes #1757)
* Emit `<th>` for `filename` if `linenos=table`.
* Added test cases for filename inclusion.
* Updated CHANGES
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix #1735 pull request
* LaTeX: workaround to ensure compatibility with minted
This reverts already merged #1735 (after a commit from #1736 to fix it)
and applies the first envisioned method discussed in #1734.
The reason is that the #1735-#1736 method only partially repairs the
minted compatibility. Minted queries from Pygments the stylesheet
with a command prefix equal to the style name, which may contain
(at least, so far) characters such as - and _, which are not normally
allowed in LaTeX macros. So it modifies the meaning of - and _ before
telling LaTeX to input the Pygments provided stylesheet. Restoring
the normal meaning of - from inside the stylesheet must be carefully
localized: at top and bottom of stylesheets some macros will use in
their names the - and there the - must be the weird minted one, not
the normal one.
The #1735-#1736 method thus does fix compatibility with minted but *only*
for those style names not using a -, but it creates another issue if
used with e.g. style "paraiso-dark" which has a - character in its name.
"De guerre lasse", I feel it is simpler to use the somewhat strange
very localized hotfix of prefixing - by \string at the one spot where
we need it to be its normal self. Hence this PR.
Fix #1734.
|
|
|
|
|
|
| |
Fix: #1731
Fix: #1734
Upstream issue: https://github.com/gpoore/minted/issues/294
|
|
|
|
|
|
|
|
|
|
|
| |
* use `id` not `name` for line anchors;
`name` attribute on `a` element is obsolete in html5;
* keep `name` to remain compatible with existing code;
* update docstring;
* update test files;
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add formatter for Pango Markup
* Code style improvement
* Code improvement + test case
* Changed test
* retrigger checks
* Make test independent of color style
|
| |
|
|
|
|
|
|
|
|
|
| |
In Python 3, RawTokenFormatter would output non-ASCII for non-ASCII
input, and RawTokenLexer would throw Unicode-related exceptions for
ASCII or non-ASCII input; fix them. Also, handle all exceptions, so
that callers who find RawTokenLexer via get_lexer_by_name on user
input don’t unexpectedly get a lexer that throws exceptions.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
|
|
|
|
|
|
|
|
|
| |
Extend Image formatters in img.py to support background colors.
* New function to get the background color for a given token type, optionally None
* The self.drawables list used the fill keyword, stuffed into a **kwrgs, for the color of the token; since tokens can have foreground and background colors, that list now uses two explicit names, passing one to the PIL/Pillow text draw call, the other to the rectangle draw call.
* When iterating over the `drawables` list, the presence of a background color triggers the drawing of a rectangle beneath the text.
* Dimensions of background rectangle calculated by PIL based on the rendered text and font.
* If input string is multiline, PIL will use multiline for draw and size internally.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix #1698.
* Change default line number styling.
Instead of hardcoding black/light gray, use transparent/inherit which
makes it "neutral" out of the box. linenospecial is still hard-coded and
may look wrong, but that needs fixing in the style.
* Prettify the test files.
* Fix incorrect wrapping of TD linenos.
The padding would get applied twice to "special" lines, once via
<pre>, once via the <span>, which was not consistent with inline
line numbers where the .special style would override the default
style.
To fix this, we now emit "normal" and "special" lines for td.linenos
line numbers, and the normal style is applied to "normal". This brings
td.linenos closer to inline line numbers, and also makes the styling
between noclasses=True and noclasses=False consistent.
* Document the line number styling changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this, the \strut causes the background color to apply to a full
baseline height, then the framing done by \fcolorbox augments beyond
that the box height and as a result the line where this happens will
have extra distance from previous and next lines.
Correct that by reducing the apparent box size by exactly the width of
the frame (\fboxrule).
Also, make the change to \fboxsep local. Reason: if texcomments is True,
some arbitrary LaTeX mark-up can be executed in a later part and the
setting of \fboxsep could modify output; macro \<cmdprefix>@bc is
executed at top level, cf. \<cmdprefix>@do.
|
|
|
|
|
|
|
| |
In case of texcomments=True or usage of escapeinside, arbitrary LaTeX
can be executed. The \PY@bc is executed at top level hence should not
set \fboxsep at this level but keep the change to a local scope.
There is another instance but it is part of PR #1708
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ latexdef @namedef
\@namedef:
macro:#1->\expandafter \def \csname #1\endcsname
And the @ character is usable here in macro names (the variable with
name definition is authorized to contain for example \PY@it)
This makes the output shorter. It makes for a neater
sphinxhighlight.sty...
|
|
|
|
|
|
|
|
| |
This is almost irrelevant. But \catcode`\_=8 without termination might
let LaTeX expand prematurely its token stream. Of course here in the
context of fancyvrb.sty chances are 99.99% that what comes next does not
expand or expands safely. I did not look in code.
Only a matter of style, to be on the safe side.
|
|
|
|
|
| |
* Add support for anchored line numbers in inline rendering mode
* Fix tests rendering anchored line number in inline mode
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pyupgrade is a tool to automatically upgrade syntax for newer versions
of the Python language.
The project has been Python 3 only since
35544e2fc6eed0ce4a27ec7285aac71ff0ddc473, allowing for several cleanups:
- Remove unnecessary "-*- coding: utf-8 -*-" cookie. Python 3 reads all
source files as utf-8 by default.
- Replace IOError/EnvironmentError with OSError. Python 3 unified these
exceptions. The old names are aliases only.
- Use the Python 3 shorter super() syntax.
- Remove "utf8" argument form encode/decode. In Python 3, this value is
the default.
- Remove "r" from open() calls. In Python 3, this value is the default.
- Remove u prefix from Unicode strings. In Python 3, all strings are
Unicode.
- Replace io.open() with builtin open(). In Python 3, these functions
are functionally equivalent.
Co-authored-by: Matthäus G. Chajdas <Anteru@users.noreply.github.com>
|