Get graphics paths from preamble

This commit is contained in:
Shane Kilkelly 2017-07-31 11:28:52 +01:00
parent a841646559
commit eeabac7698
3 changed files with 19 additions and 7 deletions

View file

@ -12,6 +12,7 @@ define [
"ide/editor/directives/aceEditor/labels/LabelsManager"
"ide/labels/services/labels"
"ide/graphics/services/graphics"
"ide/preamble/services/preamble"
], (App, Ace, SearchBox, ModeList, UndoManager, AutoCompleteManager, SpellCheckManager, HighlightsManager, CursorPositionManager, TrackChangesManager, LabelsManager) ->
EditSession = ace.require('ace/edit_session').EditSession
ModeList = ace.require('ace/ext/modelist')
@ -34,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) ->
App.directive "aceEditor", ($timeout, $compile, $rootScope, event_tracking, localStorage, $cacheFactory, labels, graphics, preamble) ->
monkeyPatchSearch($rootScope, $compile)
return {

View file

@ -4,13 +4,12 @@ define [
App.factory 'graphics', (ide) ->
graphics = {
Graphics =
getGraphicsFiles: () ->
graphicsFiles = []
ide.fileTreeManager.forEachEntity (f) ->
if f?.name?.match?(/.*\.(png|jpg|jpeg)/)
graphicsFiles.push f
return graphicsFiles
}
return graphics
return Graphics

View file

@ -4,9 +4,21 @@ define [
App.factory 'preamble', (ide) ->
Preamble = {
Preamble =
getPreambleText: () ->
}
text = ide.editorManager.getCurrentDocValue().slice(0, 5000)
preamble = text.match(/([^]*)^\\begin\{document\}/m)?[1] || ""
return preamble
getGraphicsPaths: () ->
preamble = Preamble.getPreambleText()
graphicsPathsArgs = preamble.match(/\\graphicspath\{(.*)\}/)?[1] || ""
paths = []
re = /\{([^}]*)\}/g
while match = re.exec(graphicsPathsArgs)
paths.push(match[1])
return paths
window.Preamble = Preamble
return Preamble