gruntjs/grunt-contrib-jshint — pull request #133 by cgross (2014-01-15 22:03:20+00:00)
Title: Enhancing the readability of the console output.

The PR updates the console output to match the proposed idea in #31.

Before:
```
Running "jshint:main" (jshint) task
Linting partial/my-partial/my-partial-spec.js ...ERROR
[L8:C7] W117: 'scope' is not defined.
scope = $rootScope.$new();
[L9:C52] W117: 'scope' is not defined.
ctrl = $controller('MyPartialCtrl', {$scope: scope});
[L14:C16] W117: 'scope' is not defined.
expect(scope.test).toEqual("hik");
```

After:
```
Running "jshint:main" (jshint) task

partial/my-partial/my-partial-spec.js
8 | scope = $rootScope.$new();
^ 'scope' is not defined.
9 | ctrl = $controller('MyPartialCtrl', {$scope: scope});
^ 'scope' is not defined.
14 | expect(scope.test).toEqual("hik");
^ 'scope' is not defined.

>> 3 errors in 10 files
```

While writing the changes, I noticed that the character positions weren't lining up correctly due to the previous getTabStr function no longer working as expected. I'm guessing an upgrade in the underlying jshint broke the technique used there. I ended up using a different approach (grab the indent property and replace the tabs with that many spaces).