diff --git a/lib/gitlab/conflict/file.rb b/lib/gitlab/conflict/file.rb
index 661e43d3fa9f7434282731fcd4f9247c1f4f8085..c843315782dc1eb167c4dfecda4f99024c75af1f 100644
--- a/lib/gitlab/conflict/file.rb
+++ b/lib/gitlab/conflict/file.rb
@@ -25,6 +25,10 @@ module Gitlab
         merge_file_result[:data]
       end
 
+      def our_blob
+        @our_blob ||= repository.blob_at(merge_request.diff_refs.head_sha, our_path)
+      end
+
       def type
         lines unless @type
 
@@ -209,6 +213,7 @@ module Gitlab
         json_hash.tap do |json_hash|
           if opts[:full_content]
             json_hash[:content] = content
+            json_hash[:blob_ace_mode] = our_blob && our_blob.language.try(:ace_mode)
           else
             json_hash[:sections] = sections if type.text?
             json_hash[:type] = type
diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb
index 31f43bdc89a81ebbad6ef1292fb4a188ec4f024a..3fe90375b92f50d36fb8c150fd457ec25ff4b2eb 100644
--- a/spec/controllers/projects/merge_requests_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests_controller_spec.rb
@@ -712,6 +712,7 @@ describe Projects::MergeRequestsController do
                                          'new_path' => path,
                                          'blob_icon' => 'file-text-o',
                                          'blob_path' => a_string_ending_with(path),
+                                         'blob_ace_mode' => 'ruby',
                                          'content' => content)
       end
     end
diff --git a/spec/lib/gitlab/conflict/file_spec.rb b/spec/lib/gitlab/conflict/file_spec.rb
index 60020487061b849dcda0dd40dea6ca0c783eea37..648d342ecf8e7d20f3c6e329c465f61968e37293 100644
--- a/spec/lib/gitlab/conflict/file_spec.rb
+++ b/spec/lib/gitlab/conflict/file_spec.rb
@@ -257,5 +257,16 @@ FILE
     it 'includes the blob icon for the file' do
       expect(conflict_file.as_json[:blob_icon]).to eq('file-text-o')
     end
+
+    context 'with the full_content option passed' do
+      it 'includes the full content of the conflict' do
+        expect(conflict_file.as_json(full_content: true)).to have_key(:content)
+      end
+
+      it 'includes the detected language of the conflict file' do
+        expect(conflict_file.as_json(full_content: true)[:blob_ace_mode]).
+          to eq('ruby')
+      end
+    end
   end
 end