/** * An element which displays the contents of a Dockerfile in a nicely formatted way. */ angular.module('quay').directive('dockerfileView', function () { var directiveDefinitionObject = { priority: 0, templateUrl: '/static/directives/dockerfile-view.html', replace: false, transclude: false, restrict: 'C', scope: { 'contents': '=contents' }, controller: function($scope, $element, UtilService) { $scope.$watch('contents', function(contents) { $scope.lines = []; var lines = contents ? contents.split('\n') : []; for (var i = 0; i < lines.length; ++i) { var line = $.trim(lines[i]); var kind = 'text'; if (line && line[0] == '#') { kind = 'comment'; } else if (line.match(/^([A-Z]+\s)/)) { kind = 'command'; } var lineInfo = { 'text': line, 'kind': kind }; $scope.lines.push(lineInfo); } }); } }; return directiveDefinitionObject; });