[Tool/Web/Other] Табулятор
#1

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

Уровень табуляции 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Идеально подойдет для 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);
    }

Reply
#16

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);
        }
    }
}
Это довольно громоздко, поэтому лучше использовать второй стиль.
Reply
#17

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

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

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

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

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


Forum Jump:


Users browsing this thread: 3 Guest(s)