SA-MP Forums Archive
[Tool/Web/Other] Табулятор - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [Tool/Web/Other] Табулятор (/showthread.php?tid=506288)



Табулятор - Seregamil1 - 12.04.2014

Добрый день.
В общем это программа для корректировки кода, которую я сделал за сутки, а раскачивался на ее создание пару месяцев.

Уровень табуляции 0-10
Я умышленно не стал делать запрет на корректировку кода в комментариях, ибо на мой взгляд это глупо.
Сама программа предназначена для изменения небольших участков кода.
Мод в 1812 строк преобразовал за ~2 минуты, для сей программы - хороший результат.

Пример:
Было:
PHP Code:
lol(userid){sendclientmessage('lo{l}ka');}else{ lol{if(lolka){ }} } 
стало:
PHP Code:
lol(userid)
{
    
sendclientmessage('lo{l}ka');
}
else
{
    
lol
    
{
        if(
lolka)
        {
        }
    }

GitHub: https://github.com/Seregamil/indentCode
Автор: Seregamil

Все вопросы и предложения кидаем в темку, иногда буду обновлять программу.


Re: Табулятор - Mutha_X - 12.04.2014

Лол, у меня своё творение 30к строк преобразовало за несколько секунд... и это в павн... а у тебя 2 минуты ><


Re: Табулятор - Seregamil1 - 12.04.2014

У меня мод в 30к строк компилируется 7 минут, а ты про секунды какие-то


Re: Табулятор - Mutha_X - 12.04.2014

Странно, что вы вообще дождались загрузки своего браузера, если вы там винду днями загружаете xD

А вообще это вам к тому, что, если вы проводите замеры времени - то будьте добры выкладывать и конфигурацию, на которой это вы делали.


Re: Табулятор - Stepashka - 12.04.2014

Я бы предложил такой вариант форматирования:
Code:
lol (userid) {
    sendclientmessage('lo{l}ka');
} else {
    lol {
        if (lolka) {
        }
    }
}



Re: Табулятор - AirKite - 12.04.2014

Соглашусь с Stepashka. Было бы актуально добавить выбор самых популярных стилей, K&R (что предложил Stepashka) и BSD (та что сейчас).

Quote:
Originally Posted by Stepashka
View Post
форматирования
Наверное формирования?


Re: Табулятор - Stepashka - 12.04.2014

Quote:
Originally Posted by AirKite
View Post
Наверное формирования?
Нет, именно форматирование. Или вы никогда не слышали про форматирование текста?


Re: Табулятор - Seregamil1 - 13.04.2014

Quote:
Originally Posted by Stepashka
View Post
Я бы предложил такой вариант форматирования:
Code:
lol (userid) {
    sendclientmessage('lo{l}ka');
} else {
    lol {
        if (lolka) {
        }
    }
}
хорошо, сделаю возможность выбора форматирования


Re: Табулятор - OKStyle - 14.04.2014

Quote:
Originally Posted by Stepashka
View Post
if (lolka) {
Скобочка в строке... Бее... Стремота.


Re: Табулятор - Seregamil1 - 14.04.2014

Quote:
Originally Posted by OKStyle
View Post
Скобочка в строке... Бее... Стремота.
Можно было и промолчать, каждому свое.


Re: Табулятор - OKStyle - 14.04.2014

Можно было, но Степашка выделил эту тему. А если хочешь, чтобы в твоих темах молчали - не создавай их.


Re: Табулятор - Stepashka - 14.04.2014

Quote:
Originally Posted by OKStyle
View Post
Можно было, но Степашка выделил эту тему.
Что простите, как я её выделил?


Re: Табулятор - OKStyle - 14.04.2014

Quote:
Originally Posted by Stepashka
View Post
Я бы предложил такой вариант форматирования:
Вот так. Обсуждению больше не подлежит =) Автор сделает выбор по необходимому стилю.
Было бы классно, если бы можно было самому создать и редактировать шаблоны форматирования (отдельные от exe файлы).


Re: Табулятор - -Stranger- - 14.04.2014

OKStyle, ага, как в эклипсе)


Re: Табулятор - Darge - 01.03.2015

Идеально подойдет для RLS'ников. =)
Лично я изначально поддерживаю такой стиль табулирования:
PHP Code:
for(new strlen(inputtext)-1!= -1i--)
{
    switch(
inputtext[i])
    {
        case 
'0'..'9''a'..'z''A'..'Z': continue;
        default: return 
ErrorDialogMessage(playeriddRegPass3);
    }

И не очень люблю типа:
PHP Code:
for(new strlen(inputtext)-1!= -1i--){
    switch(
inputtext[i]){
        case 
'0'..'9''a'..'z''A'..'Z': continue;
        default: return 
ErrorDialogMessage(playeriddRegPass3);
    }




Re: Табулятор - ZiGGi - 01.03.2015

Quote:
Originally Posted by Darge
View Post
Идеально подойдет для RLS'ников. =)
Лично я изначально поддерживаю такой стиль табулирования:
PHP Code:
for(new strlen(inputtext)-1!= -1i--)
{
    switch(
inputtext[i])
    {
        case 
'0'..'9''a'..'z''A'..'Z': continue;
        default: return 
ErrorDialogMessage(playeriddRegPass3);
    }

И не очень люблю типа:
PHP Code:
for(new strlen(inputtext)-1!= -1i--){
    switch(
inputtext[i]){
        case 
'0'..'9''a'..'z''A'..'Z': continue;
        default: return 
ErrorDialogMessage(playeriddRegPass3);
    }

Код всего проекта лучше писать в одном стиле.
Поэтому твой код должен выглядеть так:
pawn Code:
for(new i = strlen(inputtext)-1; i != -1; i--)
{
    switch(inputtext[i])
    {
        case '0'..'9', 'a'..'z', 'A'..'Z':
        {
            continue;
        }
        default:
        {
            return ErrorDialogMessage(playerid, dRegPass, 3);
        }
    }
}
Это довольно громоздко, поэтому лучше использовать второй стиль.


Re: Табулятор - revos - 09.05.2015

Не вижу смысла данной разработки, ведь есть Notepad++ и плагин TextFX.


Re: Табулятор - Seregamil1 - 17.01.2016

Переработал этот ужас.

Теперь это консольное приложение. Указываете путь к файлу и меньше чем через секунду получите результат работы приложения в новом окне.
15к строк расфаршировал за 00:00:00.1582327
Не рекомендуется давать большие моды, ибо версия нестабильная, пока дорабатывается. Мой мод в 30к строк разложил за 00:00:00.3215318 без единой оплошности. Правда бывали оплошности с некоторыми модами. Причину пока выясняю. По частям те самые моды раскладывались на ура.

После завершения работы в вашем моде/скрипте появится информация о времени работы, количестве строк до и после фаршировки.
Не затрагивается содержимое комментариев.

Code:
http://i.imgur.com/a1N3vNv.png
Исходники: https://github.com/Seregamil/indentCode
Скачать архив бесплатно торрент: https://github.com/Seregamil/indentC...eases/tag/v2.0