В StringTemplate (ST) 4 кажется, что первое число - это номер строки в конкретном шаблоне, а не номер строки в файле .stg, если это то, что вы используете (что большинство из нас делает ).
Когда я использую vim, это означает, что мне нужно мысленно сместить его от номера строки первой строки шаблона (сложить их вместе), чтобы получить фактический номер строки в файле .stg.
Второе число в ошибке ST - это позиция символа в этой строке шаблона. Но подождите, это еще не все - вы знаете, что вам это нравится ...
Когда ошибка находится в первой строке многострочного шаблона: поскольку ST исключает начальный символ новой строки в многострочных шаблонах, ST эффективно объединяет первую строку / строку объявления (заканчивающуюся в «<<») со второй ( фактическое начало шаблона) строка, в многострочных шаблонах; </p>
так что по крайней мере с ST-4.0.8 мне нужно вычесть длину строки объявления шаблона из позиции символа, чтобы получить фактическую позицию символа.
Первое исключение "\ n" (только для многострочных шаблонов) также означает, что номер строки может быть смещен на 1 и, возможно, на позицию символа, для ошибки в "первой строке".
Ошибка должна включать имя файла и имя шаблона, поэтому для автоматического скрипта или инструмента достаточно информации, но для нас, простых людей, это немного обременительно.
Удачи.