From 4be80f8aa3c585882b4499d6d69dcbf4a97eff29 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Wed, 27 Jan 2016 16:15:24 +0100 Subject: Fix highlighting in blame view. --- app/controllers/projects/blame_controller.rb | 4 ++++ app/views/projects/blame/show.html.haml | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/controllers/projects/blame_controller.rb b/app/controllers/projects/blame_controller.rb index 9ea518e6c85..d2aee3879e9 100644 --- a/app/controllers/projects/blame_controller.rb +++ b/app/controllers/projects/blame_controller.rb @@ -18,7 +18,10 @@ class Projects::BlameController < Projects::ApplicationController groups = [] current_group = nil + highlighted_lines = Gitlab::Highlight.highlight(@blob.name, @blob.data).lines + i = 0 blame.each do |commit, line| + line = highlighted_lines[i].html_safe if prev_sha && prev_sha == commit.sha current_group[:lines] << line else @@ -27,6 +30,7 @@ class Projects::BlameController < Projects::ApplicationController end prev_sha = commit.sha + i += 1 end groups << current_group if current_group.present? diff --git a/app/views/projects/blame/show.html.haml b/app/views/projects/blame/show.html.haml index 53dcac78a9f..aecdec32d00 100644 --- a/app/views/projects/blame/show.html.haml +++ b/app/views/projects/blame/show.html.haml @@ -15,7 +15,6 @@ .file-content.blame.code.js-syntax-highlight %table - current_line = 1 - - blame_highlighter = highlighter(@blob.name, @blob.data, nowrap: true) - @blame.each do |blame_group| %tr %td.blame-commit @@ -38,8 +37,7 @@ \ - current_line += line_count %td.lines - %pre{class: 'code highlight'} + %pre.code.highlight %code - blame_group[:lines].each do |line| - :preserve - #{blame_highlighter.highlight(line)} + #{line} -- cgit v1.2.1 From b636f83e5910d10a954464370efe42cc14a097ba Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Thu, 28 Jan 2016 14:49:21 +0100 Subject: Move blame group logic to dedicated class --- app/controllers/projects/blame_controller.rb | 28 +--------------------------- app/views/projects/blame/show.html.haml | 4 ++-- 2 files changed, 3 insertions(+), 29 deletions(-) (limited to 'app') diff --git a/app/controllers/projects/blame_controller.rb b/app/controllers/projects/blame_controller.rb index d2aee3879e9..f576d0be1fc 100644 --- a/app/controllers/projects/blame_controller.rb +++ b/app/controllers/projects/blame_controller.rb @@ -8,32 +8,6 @@ class Projects::BlameController < Projects::ApplicationController def show @blob = @repository.blob_at(@commit.id, @path) - @blame = group_blame_lines - end - - def group_blame_lines - blame = Gitlab::Git::Blame.new(@repository, @commit.id, @path) - - prev_sha = nil - groups = [] - current_group = nil - - highlighted_lines = Gitlab::Highlight.highlight(@blob.name, @blob.data).lines - i = 0 - blame.each do |commit, line| - line = highlighted_lines[i].html_safe - if prev_sha && prev_sha == commit.sha - current_group[:lines] << line - else - groups << current_group if current_group.present? - current_group = { commit: commit, lines: [line] } - end - - prev_sha = commit.sha - i += 1 - end - - groups << current_group if current_group.present? - groups + @blame_groups = Gitlab::Blame.new(@blob, @commit).groups end end diff --git a/app/views/projects/blame/show.html.haml b/app/views/projects/blame/show.html.haml index aecdec32d00..eb6fbfaffa0 100644 --- a/app/views/projects/blame/show.html.haml +++ b/app/views/projects/blame/show.html.haml @@ -15,11 +15,11 @@ .file-content.blame.code.js-syntax-highlight %table - current_line = 1 - - @blame.each do |blame_group| + - @blame_groups.each do |blame_group| %tr %td.blame-commit .commit - - commit = Commit.new(blame_group[:commit], @project) + - commit = blame_group[:commit] .commit-row-title %strong = link_to_gfm truncate(commit.title, length: 35), namespace_project_commit_path(@project.namespace, @project, commit.id), class: "cdark" -- cgit v1.2.1