Ru-Board.club
← Вернуться в раздел «Программы»

» SciTE - Open Source Text Editor for Windows & Linux

Автор: tclerator
Дата сообщения: 27.07.2009 05:02
Здравствуйте. Скачал на днях последнюю сборку, весьма порадовала, но есть вопрос - как назначить две команды на одно действие, (на команду command.go компиляцию и запуск, например)? Ни в одном из факов не нашел решения. Плюс при открытии eiffel исходников код почему-то открывается свернутым, как при закомментированном параметре fold.on.open, так и при установленном в 0. В чем может быть дело?
Автор: UR4LTZ
Дата сообщения: 27.07.2009 10:08
tclerator

Цитата:
Плюс при открытии eiffel исходников код почему-то открывается свернутым, как при закомментированном параметре fold.on.open, так и при установленном в 0. В чем может быть дело?


Причина вот здесь.
SciTEGlobal.properties [строка 1308] :
Код: # Ускоренная загрузка сессии (работает только в SciTE-Ru)
# session.load.forced=1
Автор: newsl
Дата сообщения: 27.07.2009 10:45
Здравствуйте!
А есть ли возможность показывать структуру кода, как в извесном CTags (используесться в VIM, ProgrammersNotepad)?
а то понравилось как выглядит, хотелось бы и в SciTE иметь
Автор: tclerator
Дата сообщения: 27.07.2009 11:13
UR4LTZ, не помогло. Кое-как догадался, что scite отчего-то причисляет исходники эйфеля к properties файлам, пришлось вырубить properties в fold.on.open.ext(Автоматическая свертка всех секций при открытии файлов заданного типа). Ещё есть вопрос по парсеру api файлов - он умеет воспринимать названия классов или модулей перед именами методов/ф-й(class.method ())? В указанном мной варианте методы он не воспринимает вообще.
Автор: UR4LTZ
Дата сообщения: 27.07.2009 11:13
newsl
Цитата:
А есть ли возможность показывать структуру кода, как в извесном CTags (используесться в VIM, ProgrammersNotepad)?

CTags к сожалению не поддерживается но есть замечательный SideBar
где на табе "Func/Bmk" "Functions/Procedures" можно видеть все функции.
Автор: newsl
Дата сообщения: 27.07.2009 13:05
UR4LTZ

Этот сайд-бар я видел, но он к сожалению не поддерживает, скажем C#-код.
а вот С++ поддерживает.

Реально вообще прикрутить CTAgs ?
Автор: mozers
Дата сообщения: 27.07.2009 15:25


newsl

Цитата:
Реально вообще прикрутить CTAgs ?
Вопрос с подключением ctags уже разбирался.
Вывод: Подключить - можно только нафиг нужно.

Цитата:
Этот сайд-бар я видел, но он к сожалению не поддерживает, скажем C#-код.
Так присылай пример кода (вместе со списком функций которые в нем желаешь найти) - я уверен, что TimurGubarev сможет его научить и этому языку

Цитата:
вопрос по парсеру api файлов - он умеет воспринимать названия классов или модулей перед именами методов/ф-й(class.method ())?
Формат записи функции в api файле:
Код: func (param, param, param) description
Автор: newsl
Дата сообщения: 27.07.2009 16:09
mozers
Для примера можно взять любой исходник на шарпе

ПС
CTags думаю стоит подключить так он УЖЕ поддерживает кучу языков программирования.
И не надо будет отдельно это всё прописывать ))))
Автор: mozers
Дата сообщения: 27.07.2009 17:20
newsl
Цитата:
для примера можно взять любой исходник на шарпе
Для примера чего?
Цитата:
названия классов или модулей перед именами методов/ф-й
Этого?
Так по этому принципу AutocompleteObject.lua и работает. Есть желание настроить под "свой" язык - пожалуйста - там в комментариях все описано...

Ты, видимо так и не прочитал форум где этот CTags рассматривался...
Тот код, что я ему предлагал (js, vbs, lua) он распознал ОЧЕНЬ плохо.
Настройте его так, чтобы результат который он выдает был приемлемым, а я уж встрою его в SciTE в лучшем виде (хотя бы как альтернативу SideBar).
Автор: TymurGubayev
Дата сообщения: 27.07.2009 18:36
newsl
чтобы сделать поддержку C# в SideBar есть следующие варианты:
1. внимательно посмотреть на строки 666-686 -- этот кусок кода обрабатывает C++, и переделать для C#. (Ещё надо будет дополнить таблицы Lexer2Lang и Ext2Lang, но это уже мелочи)
2. скинуть мне грамматику C# -- тогда её будет несложно переписать на lpeg
3. поправить SideBar так, чтобы он для конкретно C# использовал ctags.
4. скинуть мне пару код -- список, что должен показывать SideBar, а я тогда попробую что-то с этим сделать.
Автор: tclerator
Дата сообщения: 27.07.2009 19:36
mozers, спасибо за подробный ответ. расширение исходников eiffel - e, c AutocompleteObject буду разбираться.
upd.: установил autocomplete.[my_lang].start.characters в ".", теперь при вводе "class." в редакторе сразу выползает окошко со списком методов, что гуд однако, подсказки к этим методам не появляются ни под каким предлогом и эти методы видны и без ввода модулей, что неправильно. я что-то неправильно делаю или скрипт работает кривовато?
пример строк из апи файла:
io.last_character () : CHARACTER \n Last character read by `read_character'
test.last_integer () : INTEGER \n Last integer read by `read_integer'
last_integer_8 () : INTEGER_8 \n Last 8-bit integer read by `read_integer_8'
автокомплит по la* выдает и last_character, и last_integer без ввода io/test, и подсказка появляется только по последнему методу.
upd.2: ну подсказку можно включить, модифицировав функцию GetCurrentWord, например, так: http://pastebin.com/m5620b4d8 луа не знаю, так что звиняйте за кривой код. если бы ещё гуру подсказали, как задействовать запуск подсказки по вводу левой скобки, было бы просто замечательно
Автор: mozers
Дата сообщения: 27.07.2009 22:10
tclerator
Цитата:
расширение исходников eiffel - e
Ясно... Моя бага Исправил в ревизии 1128. Вот исправленный скрипт RestoreRecent.lua

Добавлено:
ALL
Вот - зацените highlighting_identical_text.lua
Авто подсветка текста, который совпадает с текущим словом или выделением (по Issue 149).
Так прикольно получилось...
Автор: tclerator
Дата сообщения: 28.07.2009 00:18
во, теперь эйфелевые исходники открываются нормально, спасибо.
подсветка работает хорошо, удобная штука, только зачем подсвечивать ещё и части слов - непонятно кстати, что с issue 86? похоже, о нём уже забыли, а по мне - это был бы огромный шаг для scite ну и что всё таки с подсказками при использовании имени класса перед именем метода - полноценно реализовано будет?
Автор: mozers
Дата сообщения: 28.07.2009 09:48
tclerator
Цитата:
подсветка работает хорошо, удобная штука, только зачем подсвечивать ещё и части слов
Так можно выделить фразу...

Цитата:
кстати, что с issue 86? похоже, о нём уже забыли
Похоже, что да...

Цитата:
что всё таки с подсказками при использовании имени класса перед именем метода - полноценно реализовано будет?
AutocompleteObject.lua справляется. Только настраивать надо... (Посмотри в ПМ).
Конечно, вручную составлять api файлы - муторное занятие, но полная автоматизация этого дела пока не реализована (лишь отдельные скрипты для отдельных языков упрощающие ручной труд)...
Автор: newsl
Дата сообщения: 28.07.2009 10:15
mozers
TymurGubayev
Спасибо всем за ответы.
Скоро пришлю всё что просят.

ПС
java тоже не парсится в side-bar е. Её грамматика практически идентична шарпу . )))
Автор: tclerator
Дата сообщения: 29.07.2009 07:29
Да, с подсказками я не разобрался просто, покурил маны, всё работает. scite порадовал, кстати - сгенеренный апи файл объемом в 30k строк отпарсил без проблем и при выводе списка методов подтормаживает только иногда и совсем чуть-чуть Теперь осталось только 86й запрос реализовать.
Кстати, баг замечен - если значение calltip.lexer.word.wrap и расстояние до принимаемой функцией переменной совпадают(если эта переменная переносится на вторую строку в calltip'e), то при вводе этой переменной она перестает отображаться в окошке - остается только верхняя строка.
Автор: Oaklet
Дата сообщения: 29.07.2009 18:43
mozers
Спасибо за скрипт!
Но у меня при отсутствии выделения пишет:
highlighting_identical_text.lua:47: attempt to call global 'GetCurrentWord' (a nil value)
Что делать? ))
Автор: tclerator
Дата сообщения: 29.07.2009 21:31
Oaklet, обнови три скрипта отсюда http://code.google.com/p/scite-ru/source/detail?r=1127
Автор: Oaklet
Дата сообщения: 29.07.2009 22:17
tclerator
Спасибо! Надо следить за ревизиями...
Автор: mozers
Дата сообщения: 29.07.2009 22:31
tclerator
Цитата:
Теперь осталось только 86й запрос реализовать.
Мечта ждет своего воплощения уже больше года

Цитата:
Кстати, баг замечен - если значение calltip.lexer.word.wrap и расстояние до принимаемой функцией переменной совпадают(если эта переменная переносится на вторую строку в calltip'e), то при вводе этой переменной она перестает отображаться в окошке - остается только верхняя строка.
Наделил калтипы новыми возможностями chupakabra. Надо бы его попросить поправить багу... В любом случае начать лучше с публикации Issue по этому поводу.
Сам я в основном вручную '\n'-ами строки переношу.

Oaklet
Ответили тебе - правильно. Еще добавлю:
Цитата:
Revision: 1133
Author: mozers
Date: Wed Jul 29 09:36:36 2009
Log: -chg: highlighting_identical_text.lua: Значительно снижена нагрузка
скрипта на систему (путем уменьшения кол-ва повторных срабатываний и
ограничению на max количество идентичных фрагментов). Код оптимизирован.
Теперь не вешает редактор при работе с UTF текстом. Это - с одной стороны.
С другой: Теперь кода почти в 2 раза больше и поиск русских слов в UTF не
работает (только выделенный текст)
Вся причина - в глючности функции editor:findtext при работе с UTF.
Автор: newquaker
Дата сообщения: 30.07.2009 21:40
В регулярных выражениях планируется поиск альтернатив (абв|где)?
Автор: limittouch
Дата сообщения: 31.07.2009 07:55
Ребят, кто разбирается, допилите пожалуйста поиск в SciTE for Windows, чтобы в DOS - кодировке он мог искать человеческие русские символы, а не крокозябры.

Сейчас, при отображении файла в DOS-кодировке приходится вводить русский текст в поле файла, а потом копировать его оттуда в поле поиска, там он превращается в крокозябры, которые находятся как русский текст в файле. А если по-русски ввести в поиске, то ничего не найдет. Жутко напрягает
Автор: Psorokin
Дата сообщения: 01.08.2009 09:04
mozers
Удаление тега по Ctrl+Alt+Backspace — это очень удобно , но остаются хвосты из парных закрывающих тегов, которые ещё надо отыскивать.
Нельзя ли добавить возможность удалять сразу оба тега?
Автор: mozers
Дата сообщения: 01.08.2009 11:07
newquaker
Нейл неоднократно отвечал что регулярные выражения в стандартном диалоге поиска он менять не планирует.

limittouch
Поддержка кодировки cp866 прикручена к SciTE весьма оригинальным путем (фактически ее - нет), поэтому стандартный поиск никогда не будет работать с dos-овским текстом.
А вот написать собственный скрипт для поиска (в который, кстати, можно заложить любые регулярные выражения) - вполне реальная задача.
Кстати, и FindText.lua и highlighting_identical_text.lua находят текст и в 866 кодировке, вот только диалог для ввода произвольного текста у них отсутствует.

Psorokin
Цитата:
Удаление тега по Ctrl+Alt+Backspace — это очень удобно
В мусорку этот скрипт! Пользуйся paired_tags.lua
Автор: Psorokin
Дата сообщения: 01.08.2009 12:43
mozers

Цитата:
Пользуйся paired_tags.lua

А как выделять тег вместе с < > ?
Автор: mozers
Дата сообщения: 01.08.2009 13:10
Psorokin
А зачем выделять то?
Цитата:
Скрипт позволяет копировать и удалять (текущие подсвеченные) теги, а также
вставлять в нужное место ранее скопированные (обрамляя тегами выделенный текст)

Автор: Psorokin
Дата сообщения: 01.08.2009 13:33
mozers

Цитата:
А зачем выделять то?

Для перетаскивания, но можно и по старинке.
highlighting_paired_tags.lua и HTMLFormatPainter.lua можно удалять?
Автор: mozers
Дата сообщения: 01.08.2009 14:16
Psorokin
Цитата:
highlighting_paired_tags.lua и HTMLFormatPainter.lua можно удалять?
Ага. Из сборки они уже исключены.
Автор: newquaker
Дата сообщения: 01.08.2009 20:39

Цитата:
А вот написать собственный скрипт для поиска (в который, кстати, можно заложить любые регулярные выражения) - вполне реальная задача.

кто-нибудь уже пробовал ее осуществить? Для этого надо изучить язык lua и что еще?
Автор: usr721
Дата сообщения: 03.08.2009 17:29
Существует ли сборка SciTE Ru-Board Edition под линукс?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Universal Share Downloader


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.