equal
deleted
inserted
replaced
74 def get(buffer: JEditBuffer): Option[Buffer_Model] = |
74 def get(buffer: JEditBuffer): Option[Buffer_Model] = |
75 state.value.buffer_models.get(buffer) |
75 state.value.buffer_models.get(buffer) |
76 |
76 |
77 def is_stable(): Boolean = |
77 def is_stable(): Boolean = |
78 state.value.models_iterator.forall(_.is_stable) |
78 state.value.models_iterator.forall(_.is_stable) |
|
79 |
|
80 def bibtex_entries_iterator(): Iterator[(String, Document_Model, Text.Offset)] = |
|
81 for { |
|
82 model <- state.value.models_iterator |
|
83 (entry, offset) <- model.bibtex_entries |
|
84 } yield (entry, model, offset) |
79 |
85 |
80 |
86 |
81 /* init and exit */ |
87 /* init and exit */ |
82 |
88 |
83 def init(session: Session, node_name: Document.Node.Name, buffer: Buffer): Buffer_Model = |
89 def init(session: Session, node_name: Document.Node.Name, buffer: Buffer): Buffer_Model = |
191 try { Bibtex.parse_entries(text) } |
197 try { Bibtex.parse_entries(text) } |
192 catch { case ERROR(msg) => Output.warning(msg); Nil } |
198 catch { case ERROR(msg) => Output.warning(msg); Nil } |
193 } |
199 } |
194 } |
200 } |
195 |
201 |
196 trait Document_Model extends Document.Model |
202 sealed abstract class Document_Model extends Document.Model |
197 { |
203 { |
198 /* content */ |
204 /* content */ |
199 |
205 |
200 def bibtex_entries: List[(String, Text.Offset)] |
206 def bibtex_entries: List[(String, Text.Offset)] |
201 |
207 |
242 PIDE.resources.special_header(node_name) getOrElse |
248 PIDE.resources.special_header(node_name) getOrElse |
243 PIDE.resources.check_thy_reader("", node_name, Scan.char_reader(content.text), strict = false) |
249 PIDE.resources.check_thy_reader("", node_name, Scan.char_reader(content.text), strict = false) |
244 |
250 |
245 |
251 |
246 /* content */ |
252 /* content */ |
|
253 |
|
254 def node_position(offset: Text.Offset): Line.Node_Position = |
|
255 Line.Node_Position(node_name.node, |
|
256 Line.Position.zero.advance(content.text.substring(0, offset), Text.Length)) |
247 |
257 |
248 def get_blob: Option[Document.Blob] = |
258 def get_blob: Option[Document.Blob] = |
249 if (is_theory) None |
259 if (is_theory) None |
250 else Some(Document.Blob(content.bytes, content.chunk, pending_edits.nonEmpty)) |
260 else Some(Document.Blob(content.bytes, content.chunk, pending_edits.nonEmpty)) |
251 |
261 |