equal
deleted
inserted
replaced
185 |
185 |
186 sealed case class File_Content(text: String) |
186 sealed case class File_Content(text: String) |
187 { |
187 { |
188 lazy val bytes: Bytes = Bytes(text) |
188 lazy val bytes: Bytes = Bytes(text) |
189 lazy val chunk: Symbol.Text_Chunk = Symbol.Text_Chunk(text) |
189 lazy val chunk: Symbol.Text_Chunk = Symbol.Text_Chunk(text) |
190 lazy val bibtex_entries: List[(String, Text.Offset)] = Bibtex_JEdit.parse_entries(text) |
190 lazy val bibtex_entries: List[(String, Text.Offset)] = |
|
191 try { Bibtex.parse_entries(text) } |
|
192 catch { case ERROR(msg) => Output.warning(msg); Nil } |
191 } |
193 } |
192 } |
194 } |
193 |
195 |
194 trait Document_Model extends Document.Model |
196 trait Document_Model extends Document.Model |
195 { |
197 { |
246 def get_blob: Option[Document.Blob] = |
248 def get_blob: Option[Document.Blob] = |
247 if (is_theory) None |
249 if (is_theory) None |
248 else Some(Document.Blob(content.bytes, content.chunk, pending_edits.nonEmpty)) |
250 else Some(Document.Blob(content.bytes, content.chunk, pending_edits.nonEmpty)) |
249 |
251 |
250 def bibtex_entries: List[(String, Text.Offset)] = |
252 def bibtex_entries: List[(String, Text.Offset)] = |
251 if (Bibtex_JEdit.check(node_name)) content.bibtex_entries else Nil |
253 if (Bibtex.check_name(node_name)) content.bibtex_entries else Nil |
252 |
254 |
253 |
255 |
254 /* edits */ |
256 /* edits */ |
255 |
257 |
256 def update_text(text: String): Option[File_Model] = |
258 def update_text(text: String): Option[File_Model] = |
346 |
348 |
347 private def reset_bibtex_entries(): Unit = GUI_Thread.require { _bibtex_entries = None } |
349 private def reset_bibtex_entries(): Unit = GUI_Thread.require { _bibtex_entries = None } |
348 |
350 |
349 def bibtex_entries: List[(String, Text.Offset)] = |
351 def bibtex_entries: List[(String, Text.Offset)] = |
350 GUI_Thread.require { |
352 GUI_Thread.require { |
351 if (Bibtex_JEdit.check(buffer)) { |
353 if (Bibtex.check_name(node_name)) { |
352 _bibtex_entries match { |
354 _bibtex_entries match { |
353 case Some(entries) => entries |
355 case Some(entries) => entries |
354 case None => |
356 case None => |
355 val text = JEdit_Lib.buffer_text(buffer) |
357 val text = JEdit_Lib.buffer_text(buffer) |
356 val entries = Bibtex_JEdit.parse_entries(text) |
358 val entries = |
|
359 try { Bibtex.parse_entries(text) } |
|
360 catch { case ERROR(msg) => Output.warning(msg); Nil } |
357 _bibtex_entries = Some(entries) |
361 _bibtex_entries = Some(entries) |
358 entries |
362 entries |
359 } |
363 } |
360 } |
364 } |
361 else Nil |
365 else Nil |