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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

A free source code editor for Win32 and X
Русскоязычный форум поддержки
Предыдущие ветки в Программах: [Часть 1] | [Часть 2]

Один из самых настраиваемых текстовых редакторов из ныне существующих. Настраивается практически все. Индивидуальная подсветка для разных языков програмирования, фолдинг для классов, функций и структур, авто-дополнение, и т.д. и т.п...
 
  • Официальный сайт: Scintilla and Scite
  • Официальный форум: Scite-interest -- Discussion of the SciTE editor
  • Русская документация по SciTE (Ждем ваших замечаний и дополнений...)
  • Проект SciTE-Ru (топик на Ru-Board сборки SciTE Ru-Board Edition )
  • SciTE - Википедия (корректируйте, дополняйте!)
  • Filerx, SideWinder
  • ......
     
       
  • Project file releases
     
     
    Scintilla History | (на русском)  
     
    Последняя версия оригинального редактора SciTE - 4.4.4 [от 21.07.2020]
     
    Последняя версия редактора из проекта SciTE-Ru - 3.5.5 .102 [Сборка 01.05.2017]
    (Oписание: сборки, ядра)  [О "вирусах" в сборке SciTE-Ru!]
    Дружественная тема - Вопросы по сборке SciTE-Ru
    // текущий бэкап шапки..

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:23 23-11-2010 | Исправлено: Maz, 15:48 11-10-2020
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    maxidronische
    Цитата:
    lexer.$(file.patterns.rsl)=rsl
    Такого лексера не существует! Позволительно использовать только существующий лексер и не какой попало, а тот, который может понять конструкции вашего языка.
    Откройте свой файл и выберите (с помощью меню "Подсветка") тот, который воспринимает код наиболее адекватно (мне показалось что это - лексер cpp).

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 20:22 09-04-2013
    maxidronische

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers,  
    то есть количество лексеров ограничено каким-то набором, и у каждого из них свои особенности.
     
    Спасибо за помощь!
     

    Всего записей: 7 | Зарегистр. 07-09-2012 | Отправлено: 21:38 09-04-2013
    Shadowman



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как включить проверку синтаксиса lua-скриптов?

    Всего записей: 264 | Зарегистр. 22-04-2002 | Отправлено: 21:45 09-04-2013
    maxidronische

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers
    подскажите, пожалуйста, еще одну вещь: можно ли настраивать возможность отображения функций/процедур для сторонних языков?
    [img] http://imageshack.us/photo/my-images/594/92679665.png/[/img]

    Всего записей: 7 | Зарегистр. 07-09-2012 | Отправлено: 15:50 10-04-2013
    mozers



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

    Цитата:
    то есть количество лексеров ограничено каким-то набором, и у каждого из них свои особенности.
    Совершенно верно.

    Цитата:
    можно ли настраивать возможность отображения функций/процедур для сторонних языков?
    Можно. Правкой содержимого SideBar.lua. Вот недавно новый автор nicksabaka добавил поддержку методов Nemerle.
     
    Shadowman
    Снять комментарий со строчки в SciTEGlobal.properties:
    Код:
    #~ import languages\script_lua

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 20:39 11-04-2013
    GF777

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Release 3.3.1
     
        Released 11 April 2013.
        Autocompletion lists can now appear in priority order or be sorted by Scintilla. Feature #981.
        Most lexers now lex an extra NUL byte at the end of the document which makes it more likely they will classify keywords at document end correctly. Bug #574, Bug #588.
        Haskell lexer improved in several ways. Bug #1459.
        Matlab/Octave lexer recognises block comments and ... comments. Bug #1414.
        Ruby lexer crash fixed with keyword at start of document.
        The PLAT_NCURSES platform now called PLAT_CURSES as may work on other implementations.
        Bug on Cocoa fixed where input composition with multiple selection or virtual space selection could make undo stop working.
        Direct2D/DirectWrite mode on Windows now displays documents in non-Latin1 8-bit encodings correctly.
        Character positioning corrected in Direct2D/DirectWrite mode on Windows to avoid text moving and cutting off lower parts of characters.
        Position of calltip and autocompletion lists fixed on Cocoa.
        While regular expression search in DBCS text is still not working, matching partial characters is now avoided by moving end of match to end of character.
     
    Шапку поправьте pls!

    Всего записей: 150 | Зарегистр. 10-07-2003 | Отправлено: 08:19 12-04-2013
    maxidronische

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

    Цитата:
    Можно. Правкой содержимого SideBar.lua. Вот недавно новый автор nicksabaka добавил поддержку методов Nemerle.  

     
    Добавил свой кусок кода в SideBar.lua  
    Подробнее...
     
    конструкции типа:
    class test_class (...)
    macro test_macro  (...)
    private macro test_macro (...)
    отлавливаются
     
    а как сделать так, чтобы отлавливались еще и такие конструкции:
    class (parent_class) test_class (...)
    ???

    Всего записей: 7 | Зарегистр. 07-09-2012 | Отправлено: 13:03 12-04-2013
    TymurGubayev

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

    Цитата:
    class (parent_class) test_class (...)  

     
    если такой синтаксис возможен только после ключевого слова class, то как-то так:
     

    Код:
     
    local class = Ct(c*SC^1*(P"("*I*P")")^(-1)*SC^0*I*SC^0*par^-1)  
     

    Всего записей: 35 | Зарегистр. 24-11-2008 | Отправлено: 20:35 12-04-2013 | Исправлено: TymurGubayev, 20:36 12-04-2013
    Callisto_K

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго временм суток.
     
    С недавних пор решила отказаться от использования нескольких редакторов и остановиться на одном, SciTE.
    Но встала такая проблема. Есть у меня увлечение - Rainmeter, и при редактировании конфигурационных файлов, желательна своя подсветка синтаксиса. По структуре, это обычные .ini файлы, просто необходимо подсветить список определенных ключей и значений. К сожалению в SciTE я пока полный ноль и максимум научилась менять оформление  Но уже надоела куча редакторов.
     
    И поэтому прошу подсказать решение моей задачи или ткнуть носом, где про это можно почитать.

    Всего записей: 4 | Зарегистр. 11-05-2013 | Отправлено: 02:31 11-05-2013
    ALeXkRU



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

    Цитата:
     при редактировании конфигурационных файлов, желательна своя подсветка синтаксиса. По структуре, это обычные .ini файлы

    расширение у них какое?
    чтобы они автоматически распознавались и подсвечивались, их расширение нужно добавить в перечень в файле SciTE\languages\others.properties. Открыть его можно через меню Настройки/Подключенные настройки/Открыть others.properties..
     
    Проверить нужно, что соответствующий файл настроек подключен: в меню Настройки/Открыть файл.../Глобальных настроек,.. (а лучше перенести - скопировать - изменяемые параметры в файл Пользовательских настроек из глобальных), найти в секции [Languages] и раскомментировать так:
    Код:
    # Другие неучтённые языки (*.properties;*.abbrev;*.ini;*.inf;*.reg;.txt;*.log;*.lst;*.doc;*.bat;*.cmd; и др.)
    import ..\languages\others

     
    ЗЫ: очень полезно просмотреть файл глобальных настроек, там всё с пояснениями, много вопросов отпадёт..  
    Ещё напомню, лучше изменённые настройки хранить в файле пользовательских настроек, чтобы при обновлениях программы они не терялись.

    Всего записей: 11901 | Зарегистр. 03-12-2003 | Отправлено: 03:11 11-05-2013
    Callisto_K

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

    Цитата:
    ЗЫ: очень полезно просмотреть файл глобальных настроек
    Спасибо за подсказку, теперь буду знать. А то только что обновила программу и все мои настройки слетели  
     
    Расширение у них .ini, и бывают еще включения с расширением .inc.  
    И вот сейчас меня посетила мысль, что по идее еще нужно отлечить обычный .ini от моего.
     
    Спасибо за наводку, попробую пока "покавыряться"

    Всего записей: 4 | Зарегистр. 11-05-2013 | Отправлено: 03:32 11-05-2013
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    И снова о подсветке AviSynth
    Крайняя версия SciTE-Ru, в SciTEUser.properties в секциях [Menu Language] и [Languages] добавлено соотв. AviSynth|avs||\ и import languages\avs, но ничего не подсвечивается. Насильно указать тип подсветки тоже не сразу получается: в меню Подсветка при открытии avs-скрипта пункт AviSynth не отмечен, при нажатии на него ничего не происходит, но если щелкнуть любой другой пункт, а после того, как у него появится галочка - снова нажать AviSynth, то появляется галочка уже у пункта AviSynth, но ничего не подсвечивается все равно. Как заставить работать подсветку?

    Всего записей: 6601 | Зарегистр. 28-01-2008 | Отправлено: 04:21 11-05-2013 | Исправлено: Skif_off, 04:32 11-05-2013
    Callisto_K

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну, что же...
    С настройками разобралась и как языки подключаются вроде тоже. Но вот сама структура и принцип построения самих languages\....properties пока остается загадкой  
    Поэтому, задам вопрос, так сказать, прямо в лоб. Возможно ли реализовать для .ini нечто вроде этогоСкрины
    Если подобное реализуемо, то тогда вижу смысл углубится в изучении данного вопросе, ну, а если нет, то нет

    Всего записей: 4 | Зарегистр. 11-05-2013 | Отправлено: 16:08 11-05-2013 | Исправлено: Callisto_K, 16:09 11-05-2013
    ALeXkRU



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Callisto_K
    в принципе, можно.. у N++ тот же движок, что у скайта..
     

    Цитата:
    сама структура и принцип построения самих languages\....properties пока остается загадкой

    в others.properties тебя, в общем, интересует (если речь о подсветке) часть, посвящённая стилям лексера.. Находишь, примерно, в середине файла что-то вроде  
    others.properties [line 518] :
    Код:
     
    keywords.$(file.patterns.props)=$(keywordclass.props)
    keywords2.$(file.patterns.props)=$(keywordclass2.props)
    keywords3.$(file.patterns.props)=$(keywordclass3.props)
     
    # Default
    style.props.0=
    # Comment
    style.props.1=fore:#007F7F,$(font.comment)
    # Section
    style.props.2=fore:#7F007F,back:#E0F0F0,eolfilled
    # Assignment operator
    style.props.3=$(colour.operator)
    # Default value (@)
    style.props.4=$(colour.preproc)
    # Key
    style.props.5=fore:#0000FF
    # Keys Set 0
    style.props.6=fore:#AA00AA,bold
    # Keys Set 1
    style.props.7=fore:#FF7700,bold
    # Keys Set 2
    style.props.8=fore:#0000FF,bold
    # Keys Set 3
    style.props.9=fore:#00FF00,bold
    # Keywords
    style.props.10=fore:#CC0000,bold
    # Matched Operators
    style.props.34=fore:#0000FF,notbold
    style.props.35=fore:#FF0000,notbold
     
    comment.block.props=#
     ?  Код создан и опубликован с помощью SciTE-Ru
     
    сорри за бледные шрифты, у меня тёмная тема, неохота перенастраивать..  
     
    тут:
    props - в начале файла так обозначены обрабатываемые типы файлов, включая *.ini
    цифры - соответствуют отдельным типам ключевых слов/знаков/символов, к которым применяется оформление, у некоторых значений есть комментарии, описывающие к чему они относятся (зелёненькие)..
    fore:#7F007F,back:#E0F0F0,bold - оформление
    fore/back - текст/фон
    #7F007F - цвет в RGB кодировке.. Можно смотреть в меню Tools/Util/Предпросмотр цвета и изображений или, например, тут
    bold - жирный
     
    подобрать можно методом научного тыка, что как раскрасить, перебирая цифры кода и меняя им цвет (на что-то заметное, типа #FF0000)
    (часть цвета наследуется из дефолтного оформления - есть в глобальных настройках в секции [Styles])
     
     
    ЗЫ: всякие подробности можно найти в документации: тут

    Всего записей: 11901 | Зарегистр. 03-12-2003 | Отправлено: 17:09 11-05-2013
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Проверил версии 3.0.3, 3.0.4, 3.1.0, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.3.0, 3.3.1. Подсветка скриптов AviSynth добавлена в версии 3.0.3, тут она работает по умолчанию, в других - нет. Но причину таки нашел, в SciTEGlobal.properties:

    Код:
    # To keep menus short, these .properties files are not loaded by default.
    imports.exclude=abaqus asn1 au3 avenue avs baan blitzbasic bullant \
    cobol cmake csound ecl escript flagship forth freebasic gap haskell inno \
    kix latex lot lout metapost mmixal modula3 nimrod nncrontab nsis \
    opal oscript powerpro powershell purebasic r rebol \
    scriptol smalltalk sorcins spice specman \
    tacl tal txt2tags verilog vhdl
    # Newly removed: ave baan escript lot metapost mmixal
    # The set of imports allowed can be set with
    #imports.include=ave

    С imports.include=avs - подсветка работает, без AviSynth|avs||\ и import languages\avs (только в меню Language не появляется AviSynth).
     
    В SciTE-Ru нет imports.exclude и imports.include, пробовал добавлять - ничего не меняется.

    Всего записей: 6601 | Зарегистр. 28-01-2008 | Отправлено: 20:22 11-05-2013
    ALeXkRU



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    всё работает:  
    - добавил в SciTE\home\SciTEUser.properties пару строк  
    в секции

    Код:
    [Menu Language]
    ...
    AviSynth|avs||\
    ...
    и
    Код:
    [Languages]
    ...
    import ..\languages\avs
    ...
    и заработала подсветка замечательно..
     
    ЗЫ: если настройки содержатся не в home (выделено в пути), а в корневой папке скайта, то во второй строке убрать ..\
     


    Всего записей: 11901 | Зарегистр. 03-12-2003 | Отправлено: 23:35 11-05-2013
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ALeXkRU, спасибо, даже в голову не пришло Думал, как обычно - относительные пути относительно исполняемого файла.

    Всего записей: 6601 | Зарегистр. 28-01-2008 | Отправлено: 00:06 12-05-2013
    Callisto_K

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

    Цитата:
    сорри за бледные шрифты
    Да нормально все видно
     
    Похоже я что-то я не то делаю. Сам стиль то настроить удалось, но вот как добавить список своих слов, увы не дошло.
    И еще есть такой момент, в коде используются переменные заключенные в # (напр. #Variables#). Как с ними быть?

    Всего записей: 4 | Зарегистр. 11-05-2013 | Отправлено: 01:20 13-05-2013
    ivanmiro

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Все доброго дня!
    Подскажите, пожалуйста, по добавлению нового плагина.
    Интересует добавление пути файла: http://lua-users.org/wiki/SciteFileBrowser
     
     
    Сюда (SciTEGlobal.properties) добавил строки:
     
    command.name.3.*=FileBrowser
    command.mode.3.*=subsystem:lua,savebefore:no
    command.3.*=dostring createContent()
     
     
    Сюда (C:\Program Files (x86)\SciTE\tools) добавил файл "SciteFileBrwoser.lua" с кодом плагина.
     
     
    Сюда (SciTEStartup.lua) добавил:
     
    dofile (props["SciteDefaultHome"].."\\tools\\SciteFileBrwoser.lua")
     
     
    Всё ли правильно я сделал и как теперь пользоваться плагином?
    Спасибо!

    Всего записей: 4 | Зарегистр. 21-05-2013 | Отправлено: 12:27 21-05-2013
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ivanmiro
    Все сделано правильно. Только:
    - это lua скрипт. В SciTE плагинов нет;
    - номер команды лучше поменять с 3 на, допустим, 229 (чтобы без проблем ее разыскать в меню Tools).
    Строки, добавленные Вами в SciTEGlobal.properties лучше добавлять в SciTEUser.properties (он открывается по команде "Открыть файл пользовательских настроек");

    Код:
    dofile (props["SciteDefaultHome"].."\\tools\\SciteFileBrwoser.lua")
    добавлять надо в самый низ SciTEStartup.lua (иначе даблклик не заработает).
    Работает скрипт так:
    Вызываете команду меню Tools "FileBrowser" - в консоль вываливается список файлов, лежащих в текущем каталоге. Даблклик на имени одного из этих файлов открывает этот файл в редакторе.
    Скрипт хорош разве что для обучения. Для практической деятельности в SciTE-Ru есть инструменты и поудобней.
    С первым постом!

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 19:45 21-05-2013
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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

    Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor (Часть 3)


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru