diff --git a/services/web/public/coffee/ide/editor/directives/aceEditor.coffee b/services/web/public/coffee/ide/editor/directives/aceEditor.coffee index 1cb527fc40..5107c89a7e 100644 --- a/services/web/public/coffee/ide/editor/directives/aceEditor.coffee +++ b/services/web/public/coffee/ide/editor/directives/aceEditor.coffee @@ -35,7 +35,7 @@ define [ url = ace.config._moduleUrl(args...) + "?fingerprint=#{window.aceFingerprint}" return url - App.directive "aceEditor", ($timeout, $compile, $rootScope, event_tracking, localStorage, $cacheFactory, labels, graphics, preamble) -> + App.directive "aceEditor", ($timeout, $compile, $rootScope, event_tracking, localStorage, $cacheFactory, labels, graphics, preamble, ide) -> monkeyPatchSearch($rootScope, $compile) return { @@ -374,6 +374,18 @@ define [ if scope.eventsBridge? session.on "changeScrollTop", onScroll + hasLintingError = null + session.on('changeAnnotation', () -> + hasErrors = session + .getAnnotations() + .filter((annotation) -> annotation.type == 'error') + .length > 0 + + if (hasLintingError != hasErrors) + ide.$scope.$broadcast('ide:lintingError', hasErrors) + hasLintingError = hasErrors + ) + setTimeout () -> # Let any listeners init themselves onScroll(editor.renderer.getScrollTop())