Skip to main content
Glama

propublica-mcp

openscad.py•3.7 kB
""" pygments.lexers.openscad ~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for the OpenSCAD languages. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ from pygments.lexer import RegexLexer, bygroups, words, include from pygments.token import Text, Comment, Punctuation, Operator, Keyword, Name, Number, Whitespace, Literal, String __all__ = ['OpenScadLexer'] class OpenScadLexer(RegexLexer): """For openSCAD code. """ name = "OpenSCAD" url = "https://openscad.org/" aliases = ["openscad"] filenames = ["*.scad"] mimetypes = ["application/x-openscad"] version_added = '2.16' tokens = { "root": [ (r"[^\S\n]+", Whitespace), (r'//', Comment.Single, 'comment-single'), (r'/\*', Comment.Multiline, 'comment-multi'), (r"[{}\[\]\(\),;:]", Punctuation), (r"[*!#%\-+=?/]", Operator), (r"<=|<|==|!=|>=|>|&&|\|\|", Operator), (r"\$(f[asn]|t|vp[rtd]|children)", Operator), (r"(undef|PI)\b", Keyword.Constant), ( r"(use|include)((?:\s|\\\\s)+)", bygroups(Keyword.Namespace, Text), "includes", ), (r"(module)(\s*)([^\s\(]+)", bygroups(Keyword.Namespace, Whitespace, Name.Namespace)), (r"(function)(\s*)([^\s\(]+)", bygroups(Keyword.Declaration, Whitespace, Name.Function)), (words(("true", "false"), prefix=r"\b", suffix=r"\b"), Literal), (words(( "function", "module", "include", "use", "for", "intersection_for", "if", "else", "return" ), prefix=r"\b", suffix=r"\b"), Keyword ), (words(( "circle", "square", "polygon", "text", "sphere", "cube", "cylinder", "polyhedron", "translate", "rotate", "scale", "resize", "mirror", "multmatrix", "color", "offset", "hull", "minkowski", "union", "difference", "intersection", "abs", "sign", "sin", "cos", "tan", "acos", "asin", "atan", "atan2", "floor", "round", "ceil", "ln", "log", "pow", "sqrt", "exp", "rands", "min", "max", "concat", "lookup", "str", "chr", "search", "version", "version_num", "norm", "cross", "parent_module", "echo", "import", "import_dxf", "dxf_linear_extrude", "linear_extrude", "rotate_extrude", "surface", "projection", "render", "dxf_cross", "dxf_dim", "let", "assign", "len" ), prefix=r"\b", suffix=r"\b"), Name.Builtin ), (r"\bchildren\b", Name.Builtin.Pseudo), (r'""".*?"""', String.Double), (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double), (r"-?\d+(\.\d+)?(e[+-]?\d+)?", Number), (r"\w+", Name), ], "includes": [ ( r"(<)([^>]*)(>)", bygroups(Punctuation, Comment.PreprocFile, Punctuation), ), ], 'comment': [ (r':param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):', Comment.Special) ], 'comment-single': [ (r'\n', Text, '#pop'), include('comment'), (r'[^\n]+', Comment.Single) ], 'comment-multi': [ include('comment'), (r'[^*/]+', Comment.Multiline), (r'/\*', Comment.Multiline, '#push'), (r'\*/', Comment.Multiline, '#pop'), (r'[*/]', Comment.Multiline) ], }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asachs01/propublica-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server