Skip to content

chrxer/python-inline-source-3

 
 

Repository files navigation

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

About

Python Inline Source Syntax Highlighting Using Type Annotations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 69.0%
  • Shell 31.0%