какая есть софтина по переименованию функций и переменных в j файле ? [deprotect]
например
переименовать функцию func в Test1
переименовать переменную tion в Test2
переименовать функцию func в Test1
переименовать переменную tion в Test2
Принятый ответ
может быть тому виной кавычки "jass" в 38 строке и формула RegExp перестаёт работать
Нет, просто из-за того, что я разрешил multiline строки, вышло так, что оно матчит закрывающую кавычку, потом кучу линий, затем название переменной, затем кучу линий и затем открывающую кавычку.
Я переделал, теперь всё работает как нужно. Заодно добавил обработку случаев с одинарными кавычками.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Keparis9
Ред. host_pi
цель этой задумки - вручную без ломания кода вернуть нормальные названия функциям после протекта (состоящим из 2-3 символов)
возьми любой j файл в своей карте и по своему совету замени как написано в примере ниже, я посмотрю потом на твою карту
Ред. nazarpunk
Ред. host_pi
тогда бы никто не протектил карты, если бы она не работала
на глаз скроллить код? и на глаз отсеивать где переменная, а где часть слова?
почему консольный pjass умеет различать где переменная, где функция, умеет сверять типы данных, но нет ни одной софтины, которая бы их переименовывала?
предвосхищаю "не нравится - сделай сам такую"
а потом заменять " fu " , " nc " , " ti " , " on "
в принципе - если накатать автору этой софтины чтобы добавил (или запилить самому) простановку пробелов вокруг запятых - то получится уже что-то
+ с массивами заменить a[i] на a [ i ]
ну а потом написать автоматический переименоватор " fu " в Test1 , " nc " в Test2 итд
костыльно всё это конечно, но с этим уже можно попробовать работать
т.к. для написания подобной софтины-переименовальщика не требуется особых знаний, можно запилить на любом языке
сначала проставить пробелы (исключая текст в кавычках) вокруг всех операторов !(),<>==+-[] , а потом переименовать " fu "
т.е. вводишь в неё списком fu=Test1 nc=Test2 ti=Test3 on=Test4, а на выходе получаешь переименованный ЧИТАБЕЛЬНЫЙ рабочий код
Ред. PT153
Ред. PT153
А так для работы с кодом рекомендую Notepad++. Легковесный и быстрый редактор текстовых файлов со всеми нужными фичами. Локлизация на русском присутствует. Вот его окно замены и документация.
Ред. host_pi
а как работает "Только слово целиком" ? по каким законам? проверяет слева и справа чтобы не [A-z] [А-я] было?
PT153:
Ред. host_pi
то можно дополнительно изъять из кода (до и после) только текст в кавычках и его сравнить, а потом изменённые части вернуть в исходное положение
или ждать таки софтину от сообщества ну или писать самому и публиковать
т.е. первый список - что заменяем (особо актуально для разных запротекченных версий одной карты, когда в разных версиях названия одних и тех же функций отличаются)
второй список - на что заменяем (когда мы разобрались в логике карты и уже можем давать функциям осмысленное название, ну либо когда под руку попался незапротекченный код с оригинальными названиями функций)
если пользователь второй список не ввёл то Word12345 или иным правилом
также можно добавить автоматический парсинг списка глобалок и всех имён функций
v1 - поставить пробелы вокруг операторов + заменять с пробелами " text "
v2 - полурабочий X-deprotect + "заменить запутанные имена глобальных переменных"
v3 - заменять "слово целиком" + с доп проверкой внутри кавычек