Python Source Code Types For Inline Syntax Highlighting
Project description
Python Inline Source 3: Syntax Highlighting Using Type Annotations
The original Python Inline Source by @JuroOravec
The PyPI package and VSCode extension have been migrated to:
- PyPI: sourcetypes3
- VSCode: chrx.python-inline-3
This project enables inline syntax highligting of strings in python source files for multiple languages using type annotations.
Supports html, css, javascript, typescript, sql, graphql,
multiple css extension languages, template languages and many more,
see below for a full list.
Uses typing.Annotated
to annotate the str type with the language used. You can use
typing.get_type_hints
at runtime to determine the language that a string has been annotated with.
- sourcetypes Python Types Package.
- vscode-python-inline-source VS Code Plugin.
Installation
Python package:
pip install sourcetypes3
VS Code plugin:
Install chrx.python-inline-3 from extensions (ctrl + shift + x or cmd + shift + x
on mac).
Example
Usage
Use a type decoration named for language that you are using:
import sourcetypes
my_html_string: sourcetypes.html = """
<h1>Some HTML</h1>
"""
or:
from sourcetypes import html
my_html_string: html = """
<h1>Some HTML</h1>
"""
Supported Languages
markdown(aliased asmd)htmldjango_html(aliased asdjango)django_txtjinjajinja_htmlcss(aliased asstyle, andstyles)scsslesssassstylusjavascript(aliased asjs)jsx(aliased asjavascriptreact, andreact)typescript(aliased asts)tsx(aliased astypescriptreact)coffeescript(aliased ascoffee)sqljsonyamlgraphqlxmlpython(aliased aspy)cpp(aliased asc,cc,h,hh, andhpp)golang(aliased asgo)rust(aliased asrs)scm(aliased astree_sitter, andtrs)
Release Notes
[0.0.9] - 2025-03-28
- add Rust
- add tree-sitter (e.g. scm)
[0.0.8] - 2025-03-27
- add C++ & golang
[0.0.7] - 2025-03-27
- allow
\s*around=
[0.0.6] - 2025-03-27
- forked from v0.0.5
Building
see BUILDING.md
TODO
- allow newline continuations // Explicit line joining
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sourcetypes3-0.1.0.tar.gz.
File metadata
- Download URL: sourcetypes3-0.1.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71b89236516cd095257a07c385ef33807c1261b5205fcbc2674d2ccbd77ecbf6
|
|
| MD5 |
7b98c5446e108f87d6d4bb83373d162e
|
|
| BLAKE2b-256 |
539985ade3f627ab26927818f4c2eb05f65272f0b622a6ea0b3660d34ae43d28
|
File details
Details for the file sourcetypes3-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sourcetypes3-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a68383c4ef68a2c7000aa8b1fd65581b1f8ce0a1ff7f22a06ed5ee8e2455a64d
|
|
| MD5 |
92ea3df87b258ca6da8d4fdf03ed668c
|
|
| BLAKE2b-256 |
b42aa605a9ad30a55afd7ca808cac5e4fe645c7a4a0f496dd996b2c8a426cb67
|