DEST

Изменения в тег "Код"

В теме 1 сообщение

Думаю, многие заметили, что последние 4 года на форуме был ужасный тег "Код": плохо форматировал, по умолчанию выставлял HTML синтаксис, многие не замечают это и оставляют, поэтому ничего не подсвечивалось. 

 

Сегодня я кардинально выпилил старый редактор (codemirror) и подключил от товарищей из Майкрософт редактор monaco-editor. 

Это скорее даже не радктор, а онлайн IDE, поэтому должно быть намного удобней, однако есть и минусы: все это выполняется в браузере, поэтому скорее всего этот редактор выжрет остатки оперативной памяти, если у вас они есть на компьютере. Ну что ж, красота требует жертв :) 

 

Кнопка для вставки та же. Если у вас не работает редактор, или работает некорректно, то попробуйте очистить кэш в браузере. Если не помогло, отпишитесь, пожалуйста, мне в ЛС @DEST. Я вроде бы потыкался, но ошибки все равно могут остаться. 

 

Вот некоторые примеры: 

Спойлер

public OnPlayerConnect(playerid)
{
    // создаем таймер, где будем проверять игрока на пользование читами
    gPlayerTimer[playerid] = SetTimerEx("ac_money_OnPlayerSecondTimer"1000*1true"i", playerid);
    
    #if defined ac_money_OnPlayerConnect
        return ac_money_OnPlayerConnect(playerid);
    #else
        return 1;
    #endif
}
#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect ac_money_OnPlayerConnect
#if defined ac_money_OnPlayerConnect
    forward ac_money_OnPlayerConnect(playerid);
#endif

public OnPlayerDisconnect(playerid, reason)
{
    KillTimer(ac_timerid[playerid]); // удалим таймер для этого игрока
    
    #if defined ac_money_OnPlayerDisconnect
        return ac_money_OnPlayerDisconnect(playerid, reason);
    #else
        return 1;
    #endif
}
#if defined _ALS_OnPlayerDisconnect
    #undef OnPlayerDisconnect
#else
    #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect ac_money_OnPlayerDisconnect
#if defined ac_money_OnPlayerDisconnect
    forward ac_money_OnPlayerDisconnect(playerid);
#endif

 

Спойлер

SELECT  c1.id AS id1,
        c1.login 
    FROM clients AS c1 
    INNER JOIN clients c2 ON c1.login = c2.login 
    WHERE c1.id <> c2.id 
    GROUP BY c1.id 
    ORDER BY c1.id;

 

Спойлер

function append(form) {
   if (form.input.value) {
      var newItem = document.createElement("LI");
      newItem.appendChild(document.createTextNode(form.input.value));
      document.getElementById("myUL").appendChild(newItem);
   }
}

function replace(form) {
   if (form.input.value) {
      var newItem = document.createElement("LI");
      var lastChild = document.getElementById("myUL").lastChild;
      newItem.appendChild(document.createTextNode(form.input.value));
      document.getElementById("myUL").replaceChild(newItem, lastChild);
   }
}

function restore() {
   var oneChild;
   var mainObj = document.getElementById("myUL");
   while (mainObj.childNodes.length > 2) {
      oneChild = mainObj.lastChild;
      mainObj.removeChild(oneChild);
   }
}

 

Пока в редакторе нет поддержки PAWN, но, возможно скоро я ее туда добавлю, так как это в нем возможно. 

Можно настроить под любой язык, и даже автокомплит самповских функций скорее всего получится сделать. 

Если кому интересно, или кто хочет помочь в этом, вот тут сам редактор: 

https://microsoft.github.io/monaco-editor/index.html

Вот тут есть демо его функций https://microsoft.github.io/monaco-editor/playground.html

А вот тут описание языка для описания своего языка https://microsoft.github.io/monaco-editor/monarch.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу