Перейти к содержимому

Поиск по сайту

Результаты поиска по тегам 'Подсветка синаксиса'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Робот Байт
  • Fingercomp's Playground
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире Майнкрафт
  • LaineBlog
  • Квантовый блог
  • Блог qwertyMAN'а
  • ДубоБлог
  • Дача Игоря

Форумы

  • Программирование
    • Программы
    • База знаний
    • Разработчикам
    • Вопросы
  • Игровой раздел
    • Игровые серверы
    • Предложения по улучшению игрового процесса
    • Моды и плагины
    • Жалобы на игроков
    • Ивенты
  • Общение
    • Вопрос-ответ
    • Беседка программистов
    • Беседка-флудилка
    • Шкатулка
  • Технический раздел
    • Багтрекер
    • Архив

Искать результаты в...

Искать результаты, которые...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


ВКонтакте


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 1 результат

  1. Вступление: Решил я на днях написать хорошую IDE для OpenComputers и столкнулся с тем, что в ванильной OpenOS напрочь отсутствует подсветка синтаксиса. Надо это исправить! Если найдутся какие-либо недочеты в плане правильности подсветки - пишите, пофиксим. Скачать библиотеку: https://github.com/IgorTimofeev/OpenComputers/blob/master/lib/syntax.lua Инструкция по использованию: --Подключаем библиотеку local syntax = require("syntax") --Создаем любую строку с операторами lua local stroka = "while true do print(\"Hello world!\")" --x, y - стартовые координаты отрисовки текста. --limit - ограничение отрисовки по ширине строки. Зачем рисовать лишние пиксели? local x, y, limit = 2, 2, 20 --Выводим строку на экран в подсвеченном варианте syntax.highlightAndDraw(x, y, limit, stroka) На экране отобразится следующее: Другие функции: ● syntax.setColorScheme(цветовая схема) Устанавливает цветовую схему по выбору пользователя. На данный момент есть лишь две схемы: "midnight" и "sunrise". ● syntax.highlightFileForDebug(путь к файлу [,цветовая схема]) Открывает обычный файл по указанному пути и выводит его содержимое в подсвеченном виде на экран. Размер содержимого ограничен размером экрана. Пример использования этой функции предоставлен на самом первом скриношоте. Насчет оптимизации и ускорения: Я постарался минимизировать задержки в выполнении скрипта различными путями. Во-первых, отрисовка выполняется не попиксельно, а построчно. То есть если мы имеем строку красного цвета, то функция отрисовки выведет на экран сразу всю строку, а не каждый символ по отдельности. Во-вторых, цвет текста изменяется только тогда, когда это необходимо, а не каждый раз при смене символов. На данный момент у программы есть существенный минус: при отрисовке выполняется поиск совпадений шаблонов по строке через оператор string.find(), однако изначально он не дружит с юникодом. Поэтому пришлось использовать костыль unicode.find(), существенно замедляющий процесс поиска. Если у кого-то имеется более оптимизированный костыль или способ поиска по юникоду, буду крайне благодарен за помощь в этом деле. Для ясности прикладываю видосик: http://www.youtube.com/watch?v=T-f8jGdYO0M&feature=youtu.be Исходный код unicode.find(): function unicode.find(str, pattern, init, plain) if init then if init < 0 then init = -#unicode.sub(str,init) elseif init > 0 then init = #unicode.sub(str,1,init-1)+1 end end a, b = string.find(str, pattern, init, plain) if a then local ap,bp = str:sub(1,a-1), str:sub(a,b) a = unicode.len(ap)+1 b = a + unicode.len(bp)-1 return a,b else return a end end
×
×
  • Создать...