src/Tools/jEdit/src/jedit_editor.scala
changeset 64613 d1ca9ce0d9e4
parent 64612 08e4b1aeac50
child 64653 89c5bb2a2128
equal deleted inserted replaced
64612:08e4b1aeac50 64613:d1ca9ce0d9e4
   271           case Some(buffer) if offset > 0 =>
   271           case Some(buffer) if offset > 0 =>
   272             val pos =
   272             val pos =
   273               JEdit_Lib.buffer_lock(buffer) {
   273               JEdit_Lib.buffer_lock(buffer) {
   274                 (Line.Position.zero /:
   274                 (Line.Position.zero /:
   275                   (Symbol.iterator(JEdit_Lib.buffer_text(buffer)).
   275                   (Symbol.iterator(JEdit_Lib.buffer_text(buffer)).
   276                     zipWithIndex.takeWhile(p => p._2 < offset - 1).map(_._1)))(_.advance_symbols(_))
   276                     zipWithIndex.takeWhile(p => p._2 < offset - 1).map(_._1)))(_.advance(_))
   277               }
   277               }
   278             Some(hyperlink_file(focus, name, pos.line1, pos.column1))
   278             Some(hyperlink_file(focus, name, pos.line1, pos.column1))
   279           case _ => Some(hyperlink_file(focus, name, line))
   279           case _ => Some(hyperlink_file(focus, name, line))
   280         }
   280         }
   281       case None => None
   281       case None => None
   294           val file_name = command.node_name.node
   294           val file_name = command.node_name.node
   295           val sources_iterator =
   295           val sources_iterator =
   296             node.commands.iterator.takeWhile(_ != command).map(_.source) ++
   296             node.commands.iterator.takeWhile(_ != command).map(_.source) ++
   297               (if (offset == 0) Iterator.empty
   297               (if (offset == 0) Iterator.empty
   298                else Iterator.single(command.source(Text.Range(0, command.chunk.decode(offset)))))
   298                else Iterator.single(command.source(Text.Range(0, command.chunk.decode(offset)))))
   299           val pos = (Line.Position.zero /: sources_iterator)(_.advance_symbols(_))
   299           val pos = (Line.Position.zero /: sources_iterator)(_.advance(_))
   300           Some(hyperlink_file(focus, file_name, pos.line1, pos.column1))
   300           Some(hyperlink_file(focus, file_name, pos.line1, pos.column1))
   301       }
   301       }
   302     }
   302     }
   303   }
   303   }
   304 
   304