diff options
author | Georg Brandl <georg@python.org> | 2014-03-01 08:18:23 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2014-03-01 08:18:23 +0100 |
commit | 2f950d546d7304e7b9d6592d27b47f82b3a424ad (patch) | |
tree | 54b9419c78a5f725508241c48a1ca731ee9317fa /sphinx/directives/code.py | |
parent | 3c649bfde0126d72894989506c40bb8ae35d7d23 (diff) | |
parent | 4047fe8184c2984241b92754b6e6d6b639b8d09b (diff) | |
download | sphinx-2f950d546d7304e7b9d6592d27b47f82b3a424ad.tar.gz |
Update copyright year.
Diffstat (limited to 'sphinx/directives/code.py')
-rw-r--r-- | sphinx/directives/code.py | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/sphinx/directives/code.py b/sphinx/directives/code.py index 9bfac5a6..daab0fb1 100644 --- a/sphinx/directives/code.py +++ b/sphinx/directives/code.py @@ -39,7 +39,7 @@ class Highlight(Directive): except Exception: linenothreshold = 10 else: - linenothreshold = sys.maxint + linenothreshold = sys.maxsize return [addnodes.highlightlang(lang=self.arguments[0].strip(), linenothreshold=linenothreshold)] @@ -56,7 +56,9 @@ class CodeBlock(Directive): final_argument_whitespace = False option_spec = { 'linenos': directives.flag, + 'lineno-start': int, 'emphasize-lines': directives.unchanged_required, + 'filename': directives.unchanged_required, } def run(self): @@ -67,7 +69,7 @@ class CodeBlock(Directive): try: nlines = len(self.content) hl_lines = [x+1 for x in parselinenos(linespec, nlines)] - except ValueError, err: + except ValueError as err: document = self.state.document return [document.reporter.warning(str(err), line=self.lineno)] else: @@ -75,9 +77,16 @@ class CodeBlock(Directive): literal = nodes.literal_block(code, code) literal['language'] = self.arguments[0] - literal['linenos'] = 'linenos' in self.options + filename = self.options.get('filename') + if filename: + literal['filename'] = filename + literal['linenos'] = 'linenos' in self.options or \ + 'lineno-start' in self.options + extra_args = literal['highlight_args'] = {} if hl_lines is not None: - literal['highlight_args'] = {'hl_lines': hl_lines} + extra_args['hl_lines'] = hl_lines + if 'lineno-start' in self.options: + extra_args['linenostart'] = self.options['lineno-start'] set_source_info(self, literal) return [literal] @@ -95,6 +104,7 @@ class LiteralInclude(Directive): final_argument_whitespace = True option_spec = { 'linenos': directives.flag, + 'lineno-start': int, 'tab-width': int, 'language': directives.unchanged_required, 'encoding': directives.encoding, @@ -105,6 +115,7 @@ class LiteralInclude(Directive): 'prepend': directives.unchanged_required, 'append': directives.unchanged_required, 'emphasize-lines': directives.unchanged_required, + 'filename': directives.unchanged, } def run(self): @@ -156,7 +167,7 @@ class LiteralInclude(Directive): if linespec is not None: try: linelist = parselinenos(linespec, len(lines)) - except ValueError, err: + except ValueError as err: return [document.reporter.warning(str(err), line=self.lineno)] # just ignore nonexisting lines nlines = len(lines) @@ -170,7 +181,7 @@ class LiteralInclude(Directive): if linespec: try: hl_lines = [x+1 for x in parselinenos(linespec, len(lines))] - except ValueError, err: + except ValueError as err: return [document.reporter.warning(str(err), line=self.lineno)] else: hl_lines = None @@ -204,10 +215,18 @@ class LiteralInclude(Directive): set_source_info(self, retnode) if self.options.get('language', ''): retnode['language'] = self.options['language'] - if 'linenos' in self.options: - retnode['linenos'] = True + retnode['linenos'] = 'linenos' in self.options or \ + 'lineno-start' in self.options + filename = self.options.get('filename') + if filename is not None: + if not filename: + filename = self.arguments[0] + retnode['filename'] = filename + extra_args = retnode['highlight_args'] = {} if hl_lines is not None: - retnode['highlight_args'] = {'hl_lines': hl_lines} + extra_args['hl_lines'] = hl_lines + if 'lineno-start' in self.options: + extra_args['linenostart'] = self.options['lineno-start'] env.note_dependency(rel_filename) return [retnode] |