Skip to main content

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:

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.

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

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 as md)
  • html
  • django_html (aliased as django)
  • django_txt
  • jinja
  • jinja_html
  • css (aliased as style, and styles)
  • scss
  • less
  • sass
  • stylus
  • javascript (aliased as js)
  • jsx (aliased as javascriptreact, and react)
  • typescript (aliased as ts)
  • tsx (aliased as typescriptreact)
  • coffeescript (aliased as coffee)
  • sql
  • json
  • yaml
  • graphql
  • xml
  • python (aliased as py)
  • cpp (aliased as c, cc, h, hh, and hpp)
  • golang (aliased as go)
  • rust (aliased as rs)
  • scm (aliased as tree_sitter, and trs)

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sourcetypes3-0.1.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sourcetypes3-0.1.0-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

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

Hashes for sourcetypes3-0.1.0.tar.gz
Algorithm Hash digest
SHA256 71b89236516cd095257a07c385ef33807c1261b5205fcbc2674d2ccbd77ecbf6
MD5 7b98c5446e108f87d6d4bb83373d162e
BLAKE2b-256 539985ade3f627ab26927818f4c2eb05f65272f0b622a6ea0b3660d34ae43d28

See more details on using hashes here.

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

Hashes for sourcetypes3-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a68383c4ef68a2c7000aa8b1fd65581b1f8ce0a1ff7f22a06ed5ee8e2455a64d
MD5 92ea3df87b258ca6da8d4fdf03ed668c
BLAKE2b-256 b42aa605a9ad30a55afd7ca808cac5e4fe645c7a4a0f496dd996b2c8a426cb67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page