Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

   

Spab



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

A free source code editor for Win32 and X
Русскоязычный форум поддержки

  • Один из самых настраиваемых текстовых редакторов из ныне существующих. Настраивается практически все.
  • Индивидуальная подсветка для разных языков програмирования, фолдинг для классов, функций и структур, авто-дополнение, и т.д. и т.п. ...
     
  • Scite-interest -- Discussion of the SciTE editor
  • Русский сайт SciTE (документация, FAQ, снимки экрана, утилиты, скрипты и т.д. и т.п....)
  • Мечта кодера. статья
  • Burgaud.com - US.SciTE
  • SciTE: Scintilla Text Editor with Extensions
  • Filerx, SideWinder
  • ......
     
       
  • Project file releases
  • Project summary (including basic statistics)
  • Новости со SciTE.ru
     
    Последняя версия редактора - SciTE 1.74
     
    SciTE 1.74 .52Ru-Board Edition [Сборка 20.09.2007]
    Oписание: сборки ядра  
     
    Дружественная тема: Доработка исходного кода и компилирование сборки Ru-Board Edition
     
    Нерешенные задачи и вопросы ( Для умных и талантливых форумчан )
     
    P.S. Если вы используете SciTE для своих нужд, таких как: написание HTML, CSS, Java Script, PHP и др. кода для сайта, или просто вам нравится этот редактор, поставьте пожалуйста ссылку или баннер на сайт - http://scite.ruteam.ru, благодаря этому у сайта повышается индекс цитирования, соответственно увеличивается количество пользователей редактора.

  • Всего записей: 64 | Зарегистр. 02-09-2001 | Отправлено: 03:05 04-06-2002 | Исправлено: mozers, 13:45 04-10-2007
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Изначально есть 2 разных события.
    1 - IDM_COMPLITEWORD - оно восникает при нажатии Ctrl+Enter.
    2 - IDM_COMPLITE - оно по умолчанию не возникает.
     
    Так вот обработчик события 1 берет слова только из самого файла, в то время как обработчик события 2 берет данные только из api файла. Я их просто соеденил.
    Насчет  

    Цитата:
    допустим WScript. будет вызывать список вариантов завершения (WScript.Echo, WScript.Arguments, WScript.FullName,...),  если таковые имеются в API-файле?  

    там логика простая.  
    При наборе WScript и нажатии Ctrl+Space(у меня это IDM_COMPLITE)  он найдет то что нужно, но если написать с точкой - нет, т.к. он воспримит "." как разделитель слова.
    Набор разделителей задан жестко и для всех языков одинаковый.

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 10:39 27-01-2006 | Исправлено: mimir, 10:40 27-01-2006
    Grisper

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers
    ага, вроде заработала раскраска. спасибо.
     

    Всего записей: 52 | Зарегистр. 21-01-2006 | Отправлено: 11:53 27-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как в скрипте можно взять текст из консоли по аналогии с editor:GetSelText().
    Хочу подправить скрипт поиска файлов.

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 13:00 27-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir
    Спасибо. Теперь все ясно

    Цитата:
    взять текст из консоли  
    Зачем так то? (Все равно что со скриншота Ворда распознавать текст в нем набираемый). Неужели нельзя сделать всю обработку текста до его вывода в консоль???

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 14:57 27-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Может и баги, про которые я говорил, поправить можешь?

    Там все предельно просто - после того как получили текущую кодовую страницу
    идет проверка на UTF8 и если это НЕ UTF8 идет перекодеровка в UTF8.  в общем все как всегда.  Это находиться в файле SciTEWin.cxx в районе строки 1860

    Цитата:
     
        if (IsWindowsNT()) {
            UINT codePage = SendEditor(SCI_GETCODEPAGE);
     
            if (codePage != SC_CP_UTF8) {
                                                   
     

     

    Цитата:
     
    Зачем так то? (Все равно что со скриншота Ворда распознавать текст в нем набираемый). Неужели нельзя сделать всю обработку текста до его вывода в консоль???

     
    Я хочу в консоле набирать текс который надо найти. Сейчас приходиться набирать его в самом файле(а его размер переваливает за несколько тысяч строк), производить поиск, и удалять то что ввел - неудобно
     
    Добавлено:
    По поводу невыделения то вроде тоже сделал.
    в файле SciTEWin.cxx  

    Цитата:
     
    DWORD SciTEWin::ExecuteOne(const Job &jobToRun, bool &seenOutput) {
    ***
     if (totalBytesToWrite > 0 && !(jobToRun.flags & jobQuiet)){
     ***
     }
     
     if (totalBytesToWrite <= 0 && !(jobToRun.flags & jobQuiet)) {
     totalBytesToWrite = 1;
     OutputAppendStringSynchronised("\0");
     }
    ***
    }

    Но я неуверен что "\0" всегда правилен. Поживем увидем.

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 16:00 27-01-2006 | Исправлено: mimir, 16:01 27-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir

    Цитата:
    и если это НЕ UTF8 идет перекодеровка в UTF8
    Так значит эти ... специально его перекодируют ???
    Да... Редкая глупость.

    Цитата:
    Я хочу в консоле набирать текс который надо найти
    Имхо передать в скрипт текст с консоли не получится.
    Но можно же вводить нужный текст в InputBox.
    Для WSH вообще проблем нет - там InputBox - встроенная функция.
    Для LUA для того чтобы поиметь InputBox и MessageBox придется доставлять довольно громоздкую (313kB) библиотеку
    Так что WSH рулит адназначна

    Цитата:
    По поводу невыделения то вроде тоже сделал.
    Вах, СПАСИБО ОГРОМНОЕ
    Обрисуй задачу скрипта. Он должен выводить в консоль список файлов из текущего каталога, содержащих заданный текст? Если ДА - то сочинить, думаю смогу...
     
    Как я не хотел этого монстра (я про Visual Studio) ставить... да, видимо придется... Что то никто откомпиленный вариант выкладывать не собирается, а поглядеть на результат страсть как хочется.
    mimir глянь в ПМ!

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 00:25 28-01-2006 | Исправлено: mozers, 01:56 28-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers  

    Цитата:
    Обрисуй задачу скрипта.  

     
    Есть скрипт который ищет в файле выделенное слово и выводит в окно консоли Scite.
    Так вот было бы очень удобно если бы можно было выделить там слово и так же произвести поиск.

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 08:39 28-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir
    Это ты про пробегавший ранее lua скрипт, который выводит в консоль строки с их номерами, содержащие искомый фрагмент?
    Только не пойму зачем в консоли то выделять текст? Выдели нужный текст прямо на странице и запусти поиск по новой
    Если смущает то, что результаты нового поиска сотрут предыдущие, то можно просто убрать output:ClearAll() из скрипта.
    глянь в ПМ!

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 12:36 28-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Это ты про пробегавший ранее lua скрипт

    Да.

    Цитата:
    не пойму зачем в консоли то выделять текст?  

    Во первых для того чтобы его выделить его для начала надо найти, а включать поиск не просто лениво а и неудобно т.к. он перейдет к найденому слову. Приходиться пользоваться закладками или открывать второй файл.  
    А так набрал текст в консоли, нажал поиск, он вывел нужные строки и все. И почти всегда мне этого достаточно. Не нужно переходить с текуще позиции.
     

    Цитата:
    Если смущает то, что результаты нового поиска сотрут предыдущие, то можно просто убрать output:ClearAll() из скрипта.  

    Спасибо

    Цитата:
    глянь в ПМ!

    ???
     

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 12:51 28-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir
    Все понял. Попробую сделать чтоб было поудобнее.
    "глянь в ПМ!" - это значит нажми графическую анимационную кнопку в правом верхнем углу этой страницы "Вам пришла почта!!!" (я тебе послал личное сообщение).

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 14:19 28-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я так и подумал сначало. Глянул - нету .
    Щас пришло.
     
    Добавлено:
    Ушло

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 15:25 28-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В общем так: Взял оригинальный скрипт, поудалял там какие то циклы непонятно зачем нужные, добавил запрос на ввод, если ничего не выделено, ну и оформил по человечески.
    Файл FindText.lua:
    Код:
    -- FindText v2
    -- Автор: неизвесен
    -- Источник: <http://forum.ruteam.ru/index.php?action=vthread&forum=22&topic=175>
    -- Небольшие корректировки: mozers™ icq#256106175
    -- Поиск выделенного на странице текста с выводом содержащих его строк в консоль
    -- Для подключения добавьте в свой файл .properties следующие строки:
    --    command.name.22.*=Поиск текста
    --    command.22.*=dofile $(SciteDefaultHome)\tools\FindText.lua
    --    command.mode.22.*=subsystem:lua,savebefore:no
    -----------------------------------------------------------------------
     
    local sText = editor:GetSelText()
    local flag = 0
     
    ------------- начало блока -------------
    -- Этот блок срабатывает, если Вы ничего не выделили
    -- и позволяет задать текст для поиска в диалоговом окне.
    -- Для работы необходимо установить библиотеку <http://total.altruistic.ru/temp/scite/luaext.zip> [222kB]
    -- В противном случае просто закомментируйте этот блок.
    if string.len(sText) == 0 then
        local Init = loadlib(props['SciteDefaultHome']..'\\tools\\luaext\\LuaWin.dll', 'Init')
        Init()
        local bFlag, repText = win.InputBox('Текст для поиска:','Найти')
        if bFlag then
            sText = repText
        end
    end
    ------------- конец блока -------------
     
    output:ClearAll()
     
    if string.len(sText) > 0 then
        trace('> Поиск текста: "'..sText..'"\n')
        local s,e = editor:findtext(sText,flag,0)
        local count = 0
        if(s~=nil)then
            local m = editor:LineFromPosition(s) - 1
            while s do
                local l = editor:LineFromPosition(s)
                if l ~= m then
                    count = count + 1
                    local str = string.gsub(' '..editor:GetLine(l),'%s+',' ')
                    trace(':'..(l + 1)..':\t'..str..'\n')
                    m = l
                end
                s,e = editor:findtext(sText,flag,e+1)
            end
            trace('> Найдено: '..count..' вхождений\nДвойной щелчок на строке с результатом установит курсор на оригинальную строку')
        else
            trace('> Вхождений не найдено!')
        end
    else
        trace('> Сначала выделите в редакторе текст, который необходимо найти!')
    end
     
     

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 22:13 28-01-2006 | Исправлено: mozers, 13:52 31-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо за скрипт вот только я ни как не могу найти DLL.
    Может кто даст ссылку

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 12:15 29-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://total.altruistic.ru/temp/scite/luaext.zip

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 12:28 29-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не работает.

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 18:07 29-01-2006
    mirk



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    На SciTE.ruteam.ru две новые статьи:
    Интерфейс командной строки для SciTE
    Утилита представляет собой интерфейс командной строки позволяющий выполнять различные команды, такие как: "Выполнить SciTE команду", "Открыть файл" и т.д.
     
    Сортировка выделенного текста
    Очень удобные в некоторых случаях функции прямой и обратной сортировки выделенного текста в редакторе

    Всего записей: 247 | Зарегистр. 21-05-2003 | Отправлено: 20:49 29-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir
    Откомпилировал твои варианты исправления ошибок SciTE.
    Увы, но ничего не работает
    Текст в StdIn все так же выводится исключительно в UTF-8.
    Если текст не выделен, то приведенный мной тестовый скрипт вешает SciTE.
    Жаль конечно, что ты даже не проверил эффект своих вариантов перед публикацией решения в форуме. Проверить то - элементарно...
     
    Насчет того, что мой скрипт "не работает" - даже не знаю в чем может быть прокол. У меня все работает просто отлично. Пиши на личный, поскольку случай явно частный - будем разбираться.
     
    mirk
    Цитата:
    Утилита представляет собой интерфейс командной строки позволяющий выполнять различные команды, такие как: "Выполнить SciTE команду", "Открыть файл" и т.д.
    Я тут тоже для своих нужд утилитку маленькую сляпал. В качестве параметра позволяет задавать любую команду меню SciTE. Тоже что ли выложить?

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 00:16 30-01-2006
    mirk



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    Я тут тоже для своих нужд утилитку маленькую сляпал. В качестве параметра позволяет задавать любую команду меню SciTE. Тоже что ли выложить?  

     
    Странный вопрос, выкладывай конечно

    Всего записей: 247 | Зарегистр. 21-05-2003 | Отправлено: 01:14 30-01-2006 | Исправлено: mirk, 01:15 30-01-2006
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Увы, но ничего не работает  

    А у меня не работает твой тестовый скрипт ну что.
    Пишет

    Цитата:
    Ошибка выполнения Microsoft VBScript.
    Объект не поддерживает это свойство или метод: 'WScript.StdIn'  

    На работе стоит 2000 там у меня все работает. Дома в консоли  пишет нормальный русский текст.
    1. На счет русского языка. Ты догадался поменять (codePage != SC_CP_UTF8) на(codePage == SC_CP_UTF8) или это очень сложно.
    2. На счет невыделения на работе приду проверю, но оно работало это точно. У тебя к SelText добовляеться еще пробел(по крайне мере в если делать копи/паст из форума), может из-за этого, хотя у меня работало. Посмотри в консоли скрипт должен писаться без >>.
    3. Я написал что неработает ссылка. Мог хотябы проеверить прежде чем постит в форум.    
     
     
    Добавлено:
    На счет русских букв.
    Там этот код встречаеться дважды. Еще в EncodingString(строка 1829), но в твоем скрипте она не вызываеться.
    А в твоем случаи Нужна GetRangeInUIEncoding (строка 1863 как я и написал). На работе не успел все найти, а дома 98 и там это пофигу.

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 07:12 30-01-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir
    Цитата:
    Объект не поддерживает это свойство или метод: 'WScript.StdIn'  
    Видимо надо обновить WSH.

    Цитата:
    Дома в консоли  пишет нормальный русский текст
    С консолью проблем никогда не было! Перекодировка происходит при выводе через StdOut (т.е. когда используешь command.input.)

    Цитата:
    Ты догадался поменять (codePage != SC_CP_UTF8) на(codePage == SC_CP_UTF8)
    Ты не повершь, но ДА догадался
     
    2. Вообще не понял о чем ты. (Какой SelText? Какой пробел? В какой консоли скрипт?) Вот тест на котором я проверяю работают твои решения или нет.
     
    3. И ссылки я проверяю. Можешь убедиться сам.
    (В коде скрипта, был грех, ошибся написал ../luaext.dll но после твоего сообщения исправил на ../luaext.zip)
     
    mirk
    Лови Readme нету, но я думаю, разберешся.

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 09:44 30-01-2006 | Исправлено: mozers, 09:54 30-01-2006
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

    Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
    Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2018

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru