diff --git a/src/applications/files/document/PhabricatorSourceDocumentEngine.php b/src/applications/files/document/PhabricatorSourceDocumentEngine.php index cd7c2af92b..5a4b7f0be7 100644 --- a/src/applications/files/document/PhabricatorSourceDocumentEngine.php +++ b/src/applications/files/document/PhabricatorSourceDocumentEngine.php @@ -1,41 +1,54 @@ loadTextData($ref); + $messages = array(); + $highlighting = $this->getHighlightingConfiguration(); if ($highlighting !== null) { $content = PhabricatorSyntaxHighlighter::highlightWithLanguage( $highlighting, $content); } else { - $content = PhabricatorSyntaxHighlighter::highlightWithFilename( - $ref->getName(), - $content); + $highlight_limit = DifferentialChangesetParser::HIGHLIGHT_BYTE_LIMIT; + if (strlen($content) > $highlight_limit) { + $messages[] = $this->newMessage( + pht( + 'This file is larger than %s, so syntax highlighting was skipped.', + phutil_format_bytes($highlight_limit))); + } else { + $content = PhabricatorSyntaxHighlighter::highlightWithFilename( + $ref->getName(), + $content); + } } - return $this->newTextDocumentContent($content); + return array( + $messages, + $this->newTextDocumentContent($content), + ); } }