~ruther/qmk_firmware

ref: a8a87a0922a33d38ed80165ee62f9dc35bd08a3d qmk_firmware/lib/python/qmk/comment_remover.py -rw-r--r-- 538 bytes
a8a87a09 — Pascal Getreuer [Core] Simplify audio_duration_to_ms() and audio_ms_to_duration(), reduce firmware size by a few bytes. (#21427) 1 year, 11 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"""Removes C/C++ style comments from text.

Gratefully adapted from https://stackoverflow.com/a/241506
"""
import re

comment_pattern = re.compile(r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"', re.DOTALL | re.MULTILINE)


def _comment_stripper(match):
    """Removes C/C++ style comments from a regex match.
    """
    s = match.group(0)
    return ' ' if s.startswith('/') else s


def comment_remover(text):
    """Remove C/C++ style comments from text.
    """
    return re.sub(comment_pattern, _comment_stripper, text)
Do not follow this link