какая есть софтина по переименованию функций и переменных в j файле ? [deprotect]
например
переименовать функцию func в Test1
переименовать переменную tion в Test2
переименовать функцию func в Test1
переименовать переменную tion в Test2
Принятый ответ
может быть тому виной кавычки "jass" в 38 строке и формула RegExp перестаёт работать
Нет, просто из-за того, что я разрешил multiline строки, вышло так, что оно матчит закрывающую кавычку, потом кучу линий, затем название переменной, затем кучу линий и затем открывающую кавычку.
Я переделал, теперь всё работает как нужно. Заодно добавил обработку случаев с одинарными кавычками.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован host_pi
а на чистой карте с добавленным war3map.j оставил этот j файл без изменений (сам j файл выложен ниже)
и также после своего "рекаверинга" удаляет HM3W заголовок, предлагая юзеру назад допиливать самостоятельно новый mpq файл до нормальной w3x карты
но есть пара моментов:
1 - работа происходит не с изначальным j файлом а через создание war3map.wct
2 - чуть изменяется оригинальный код (даже через количество строк), что не удобно при сравнении j и wct файлов - добавляется неотключаемая? отсылка к именам старых функций
3 - также он добавляет неотключаемые? строковую табуляцию и пробелы вокруг операторов - что делает различия между новым и оригинальном кодом практически в каждой строке
т.е. технически способ рабочий, но удобство надо смотреть более подробно
и это первое хоть сколько-то автоматическое решение вопроса из шапки
обрабатываемый j файл есть в replit.com/@egxwaxg111111/111 или тут controlc.com/2fb2e68c или тут xgm.guru/files/100/314140/comments/518102/war3map.j
т.е либо реплит не может обработать 20 тыс строк, либо работа кода на обработке какой-то строки прерывается
цвет подсветки строк после 104 строки в output.j магическим образом меняется
Отредактирован Extremator
При попытке пересохранить карту в редакторе, идёт перезапись этого скрипта... вот здесь обычно и вылезает первое предупреждение что он корявый и карта после этого уже не работает.
Это будут " fu", "fu ", ",fu", "fu,", " fu,", ",fu ", ",fu," для первой, и аналогичные для остальных.
В первые пару раз такой работы глаз конечно может замыливаться, но это дело привычки.
Но я вижу тебе уже подсказали что это именно так и делается.
Я в своём плагине остановился на построении дерева импорта. Но токенизатор в принципе уже всё разметил. Так что если решения не найдётся, то попробую найти время, чтоб сделать переименование для одного файла.
Отредактирован host_pi
а ты точно продюсер? (в смысле погромист)
а замена " f" испортит последующую замену " fu"
не проще ли заменить "," на " , " а потом работать с " fu " ? что сократит твоих 7 замен всего до 2. это описано выше под именем v1
Так ты можешь сразу CTRL+A и DEL
Там где это применимо - это можно применять. И наоборот.
Я разве сказал "выдели всё, нажми авто-замену, и насрать что будет" ?
Отредактирован nazarpunk
Но если у тебя "нечитабельный" скрипт, то скорее всего из него были удалены все лишние пробелы и отступы. Логичное предположение? Хоть и не обязательное.
Отредактирован nazarpunk