diff options
author | chriseth <chris@ethereum.org> | 2018-05-28 23:41:35 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-28 23:41:35 +0800 |
commit | b686fbbb32aabf24a0de7c9144e421167ff251e1 (patch) | |
tree | 632173819b19b934500e0b8d3a222c42a62b7cab | |
parent | 87016693866c9aae4585406803d4f10e0165ecb7 (diff) | |
parent | ad975a6f8c03e6333190de4f88488b207951dc05 (diff) | |
download | dexon-solidity-b686fbbb32aabf24a0de7c9144e421167ff251e1.tar.gz dexon-solidity-b686fbbb32aabf24a0de7c9144e421167ff251e1.tar.zst dexon-solidity-b686fbbb32aabf24a0de7c9144e421167ff251e1.zip |
Merge pull request #4180 from veox/use-pip-solidity-lexer
docs: Use Solidity lexer from PyPI, instead of a local module
-rw-r--r-- | circle.yml | 2 | ||||
-rw-r--r-- | docs/conf.py | 4 | ||||
-rw-r--r-- | docs/requirements.txt | 1 | ||||
-rw-r--r-- | docs/utils/SolidityLexer.py | 82 | ||||
-rwxr-xr-x | scripts/docs.sh | 1 |
5 files changed, 5 insertions, 85 deletions
@@ -204,7 +204,7 @@ jobs: name: Install build dependencies command: | apt-get -qq update - apt-get -qy install python-sphinx + apt-get -qy install python-sphinx python-pip - run: *setup_prerelease_commit_hash - run: name: Build documentation diff --git a/docs/conf.py b/docs/conf.py index 7e107f2a..fdb67367 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,7 +24,7 @@ import re def setup(sphinx): thisdir = os.path.dirname(os.path.realpath(__file__)) sys.path.insert(0, thisdir + '/utils') - from SolidityLexer import SolidityLexer + from pygments_lexer_solidity import SolidityLexer sphinx.add_lexer('Solidity', SolidityLexer()) # -- General configuration ------------------------------------------------ @@ -112,7 +112,7 @@ highlight_language = 'Solidity' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'default' +html_theme = 'sphinx_rtd_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/docs/requirements.txt b/docs/requirements.txt index 0607b1ef..5fba631c 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1,2 @@ sphinx_rtd_theme>=0.3.1 +pygments-lexer-solidity>=0.3.1 diff --git a/docs/utils/SolidityLexer.py b/docs/utils/SolidityLexer.py deleted file mode 100644 index 50f51cf4..00000000 --- a/docs/utils/SolidityLexer.py +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding: utf-8 -*- - -import re -import copy - -from pygments.lexer import RegexLexer, ExtendedRegexLexer, bygroups, using, \ - include, this -from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ - Number, Other, Punctuation, Literal - -__all__ = ['SolidityLexer'] - -class SolidityLexer(RegexLexer): - name = "Solidity" - aliases = ['sol', 'solidity'] - filenames = ['*.sol'] - mimetypes = [] - flags = re.DOTALL - tokens = { - 'commentsandwhitespace': [ - (r'\s+', Text), - (r'<!--', Comment), - (r'///', Comment.Special, 'docstringsingle'), - (r'//.*?\n', Comment.Single), - (r'/\*\*', Comment.Special, 'docstringmulti'), - (r'/\*.*?\*/', Comment.Multiline) - ], - 'natspec': [ - (r'@author|@dev|@notice|@return|@param|@title', Keyword), - (r'.[^@*\n]*?', Comment.Special) - ], - 'docstringsingle': [ - (r'\n', Comment.Special, '#pop'), - include('natspec') - ], - 'docstringmulti': [ - (r'\*/', Comment.Special, '#pop'), - include('natspec') - ], - 'slashstartsregex': [ - include('commentsandwhitespace'), - (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' - r'([gim]+\b|\B)', String.Regex, '#pop'), - (r'(?=/)', Text, ('#pop', 'badregex')), - (r'', Text, '#pop') - ], - 'badregex': [ - (r'\n', Text, '#pop') - ], - 'root': [ - (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'), - include('commentsandwhitespace'), - (r'\+\+|--|\*\*|~|&&|\?|:|\|\||\\(?=\n)|' - r'(<<|>>>?|==?|!=?|[-<>+*%&\|\^/])=?', Operator, 'slashstartsregex'), - (r'[{(\[;,]', Punctuation, 'slashstartsregex'), - (r'[})\].]', Punctuation), - (r'(anonymous|as|assembly|break|constant|continue|do|delete|else|external|for|hex|if|' - r'indexed|internal|import|is|mapping|memory|new|payable|public|pragma|' - r'private|pure|return|returns|storage|super|this|throw|using|view|while)\b', Keyword, 'slashstartsregex'), - (r'(var|function|event|modifier|struct|enum|contract|library|interface)\b', Keyword.Declaration, 'slashstartsregex'), - (r'(bytes|string|address|uint|int|bool|byte|' + - '|'.join( - ['uint%d' % (i + 8) for i in range(0, 256, 8)] + - ['int%d' % (i + 8) for i in range(0, 256, 8)] + - ['bytes%d' % (i + 1) for i in range(0, 32)] + - ['ufixed%dx%d' % ((i), (j + 8)) for i in range(0, 256, 8) for j in range(0, 256 - i, 8)] + - ['fixed%dx%d' % ((i), (j + 8)) for i in range(0, 256, 8) for j in range(0, 256 - i, 8)] - ) + r')\b', Keyword.Type, 'slashstartsregex'), - (r'(wei|szabo|finney|ether|seconds|minutes|hours|days|weeks|years)\b', Keyword.Type, 'slashstartsregex'), - (r'(abstract|after|case|catch|default|final|in|inline|let|match|' - r'null|of|relocatable|static|switch|try|type|typeof)\b', Keyword.Reserved), - (r'(true|false)\b', Keyword.Constant), - (r'(block|msg|tx|now|suicide|selfdestruct|addmod|mulmod|sha3|keccak256|log[0-4]|' - r'sha256|ecrecover|ripemd160|assert|revert|require)', Name.Builtin), - (r'[$a-zA-Z_][a-zA-Z0-9_]*', Name.Other), - (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?', Number.Float), - (r'0x[0-9a-fA-F]+', Number.Hex), - (r'[0-9]+([eE][0-9]+)?', Number.Integer), - (r'"(\\\\|\\"|[^"])*"', String.Double), - (r"'(\\\\|\\'|[^'])*'", String.Single), - ] - } diff --git a/scripts/docs.sh b/scripts/docs.sh index 42400bc7..2c08a82b 100755 --- a/scripts/docs.sh +++ b/scripts/docs.sh @@ -28,5 +28,6 @@ set -e cd docs +pip install -r requirements.txt sphinx-build -nW -b html -d _build/doctrees . _build/html cd .. |