CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
82 lines
2.2 KiB
Markdown
82 lines
2.2 KiB
Markdown
## Pygments Lexer for MLIR
|
|
|
|
This file contains a simple Pygments lexer configuration for MLIR, derived from
|
|
the version used in the original CGO paper. Pygments allows for advanced
|
|
configurable syntax highlighting of any code. This lexer is known to be
|
|
incomplete and support mostly core IR with a subset of built-in types.
|
|
Additions and customizations are welcome.
|
|
|
|
### Standalone Usage
|
|
|
|
Install Pygments, e.g., by running `pip install Pygments` or a Python package
|
|
manager of your choosing. Use the standalone `pygmentize` command by
|
|
instructing it to load the custom lexer:
|
|
|
|
```
|
|
pygmentize -l /path/to/mlir_lexer.py:MlirLexer -x myfile.mlir
|
|
```
|
|
|
|
This will produce highlighted output in the terminal. Other output formats are
|
|
available, see Pygments [documentation](https://pygments.org/docs/) for more
|
|
information.
|
|
|
|
### MkDocs / Python-Markdown
|
|
|
|
Create a Markdown extension that registers the lexer via Pygments' LEXERS
|
|
mapping:
|
|
|
|
```python
|
|
# e.g., docs/pygments/mlir.py
|
|
from markdown import Extension
|
|
import pygments.lexers._mapping as _mapping
|
|
|
|
def _register_mlir_lexer():
|
|
if "MlirLexer" not in _mapping.LEXERS:
|
|
_mapping.LEXERS["MlirLexer"] = (
|
|
"your.module.path.mlir_lexer", # adjust to your project
|
|
"MLIR",
|
|
("mlir",),
|
|
("*.mlir",),
|
|
("text/x-mlir",),
|
|
)
|
|
|
|
class MlirHighlightExtension(Extension):
|
|
def extendMarkdown(self, md):
|
|
_register_mlir_lexer()
|
|
|
|
def makeExtension(**kwargs):
|
|
return MlirHighlightExtension(**kwargs)
|
|
```
|
|
|
|
Add to `mkdocs.yml` (before `pymdownx.highlight`):
|
|
|
|
```yaml
|
|
markdown_extensions:
|
|
- your.module.path.mlir
|
|
- pymdownx.highlight
|
|
```
|
|
|
|
### LaTeX Usage
|
|
|
|
First, make sure your distribution includes the `minted` package and list in
|
|
the preamble.
|
|
|
|
```latex
|
|
\usepackage{minted}
|
|
```
|
|
|
|
Place the `mlir_lexer.py` in a place where the `latex` binary can find it,
|
|
typically in the working directory next to the main `.tex` file. Note that you
|
|
will have to invoke `latex` with the `-shell-escape` flag. See the `minted`
|
|
package [documentation](https://ctan.org/pkg/minted?lang=en) for more
|
|
information.
|
|
|
|
Leverage the custom lexer facility of `minted` to use this lexer in your
|
|
document as:
|
|
|
|
```latex
|
|
\begin{minted}{mlir_lexer.py:MlirLexer -x}
|
|
... your code here ...
|
|
\end{minted}
|
|
```
|