diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-20 00:06:22 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-20 00:06:22 +0300 |
commit | 3d5ad15d2bf62ca70b1628afb64c5476e408781c (patch) | |
tree | 1f6906c1ee4b1b5652734e0a46d32b87ef9b27a0 /lib/gitlab/ci/ansi2json | |
parent | d2801eda8464e5e9ce730caf30111c1190fe87a0 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/ci/ansi2json')
-rw-r--r-- | lib/gitlab/ci/ansi2json/style.rb | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/gitlab/ci/ansi2json/style.rb b/lib/gitlab/ci/ansi2json/style.rb index 2739ffdfa5d..77f61178b37 100644 --- a/lib/gitlab/ci/ansi2json/style.rb +++ b/lib/gitlab/ci/ansi2json/style.rb @@ -15,14 +15,10 @@ module Gitlab end def update(ansi_commands) - command = ansi_commands.shift - return unless command - - if changes = Gitlab::Ci::Ansi2json::Parser.new(command, ansi_commands).changes - apply_changes(changes) - end + # treat e\[m as \e[0m + ansi_commands = ['0'] if ansi_commands.empty? - update(ansi_commands) + evaluate_stack_command(ansi_commands) end def set? @@ -50,6 +46,17 @@ module Gitlab private + def evaluate_stack_command(ansi_commands) + command = ansi_commands.shift + return unless command + + if changes = Gitlab::Ci::Ansi2json::Parser.new(command, ansi_commands).changes + apply_changes(changes) + end + + evaluate_stack_command(ansi_commands) + end + def apply_changes(changes) case when changes[:reset] |