angular.module('ng.dynamic-title').directive('ngDynamicTitle',[
  '$rootScope',
  '$timeout',
  function(
    $rootScope,
    $timeout
  ) {

    function link($scope, $element) {
      function stateChangeCallback(event, toState) {
        var title;

        // build default title suffix
        if($scope.rootTitle && $scope.subTitle){
          title = $scope.rootTitle+' | '+$scope.subTitle;
        }

        // either prepend toState.data.ngDynamicTitle default scope titles
        // or display the title on toState.data.ngDynamicTitle
        if (toState.data && toState.data.ngDynamicTitle && title) {
          title = toState.data.ngDynamicTitle + ' | ' + title;
        } else {
          title = toState.data.ngDynamicTitle;
        }

        $timeout(function() {
          $element.text(title);
        }, 0, false);
      }

      // ui-router state change event
      $rootScope.$on('$stateChangeSuccess', stateChangeCallback);
    }

    return {
      restrict: 'A',
      link: link,
      scope: {
        'rootTitle': '@',
        'subTitle': '@'
      }
    };

  }
]);
@@ -244,16 +244,72 @@
 r title;
+%0A        $scope.separator = separator ? separator : '-';
 %0A%0A      
@@ -426,17 +426,36 @@
 Title+' 
-%7C
+'+$scope.separator+'
  '+$scop
@@ -737,9 +737,28 @@
 + ' 
-%7C
+'+$scope.separator+'
  ' +
@@ -1137,16 +1137,16 @@
 ': '@',%0A
-
         
@@ -1152,24 +1152,50 @@
  'subTitle':
+ '@',%0A        'separator':
  '@'%0A      %7D

add a separator option and change the default to ‘|’