сделать стартовой  |  добавить в избранное

   SciTE - редактор кода для программистов

Архив SciTE-форума


Автор: newsl, Отправлено:17:09 27-07-2009
mozers
Для примера можно взять любой исходник на шарпе

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

Ты, видимо так и не прочитал форум где этот CTags рассматривался...
Тот код, что я ему предлагал (js, vbs, lua) он распознал ОЧЕНЬ плохо.
Настройте его так, чтобы результат который он выдает был приемлемым, а я уж встрою его в SciTE в лучшем виде (хотя бы как альтернативу SideBar).
Автор: TymurGubayev, Отправлено:19:36 27-07-2009
newsl
чтобы сделать поддержку C# в SideBar есть следующие варианты:
1. внимательно посмотреть на строки 666-686 -- этот кусок кода обрабатывает C++, и переделать для C#. (Ещё надо будет дополнить таблицы Lexer2Lang и Ext2Lang, но это уже мелочи)
2. скинуть мне грамматику C# -- тогда её будет несложно переписать на lpeg
3. поправить SideBar так, чтобы он для конкретно C# использовал ctags.
4. скинуть мне пару код -- список, что должен показывать SideBar, а я тогда попробую что-то с этим сделать.
Автор: tclerator, Отправлено:20:36 27-07-2009
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, Отправлено:23:10 27-07-2009
tclerator
Цитата:
расширение исходников eiffel - e
Ясно... Моя бага Исправил в ревизии 1128. Вот исправленный скрипт RestoreRecent.lua

Добавлено:
ALL
Вот - зацените highlighting_identical_text.lua
Авто подсветка текста, который совпадает с текущим словом или выделением (по Issue 149).
Так прикольно получилось...

Автор: tclerator, Отправлено:01:18 28-07-2009
во, теперь эйфелевые исходники открываются нормально, спасибо.
подсветка работает хорошо, удобная штука, только зачем подсвечивать ещё и части слов - непонятно кстати, что с issue 86? похоже, о нём уже забыли, а по мне - это был бы огромный шаг для scite ну и что всё таки с подсказками при использовании имени класса перед именем метода - полноценно реализовано будет?
Автор: mozers, Отправлено:10:48 28-07-2009
tclerator
Цитата:
подсветка работает хорошо, удобная штука, только зачем подсвечивать ещё и части слов
Так можно выделить фразу...

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

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

Автор: newsl, Отправлено:11:15 28-07-2009
mozers
TymurGubayev
Спасибо всем за ответы.
Скоро пришлю всё что просят.

ПС
java тоже не парсится в side-bar е. Её грамматика практически идентична шарпу . )))
Автор: tclerator, Отправлено:08:29 29-07-2009
Да, с подсказками я не разобрался просто, покурил маны, всё работает. scite порадовал, кстати - сгенеренный апи файл объемом в 30k строк отпарсил без проблем и при выводе списка методов подтормаживает только иногда и совсем чуть-чуть Теперь осталось только 86й запрос реализовать.
Кстати, баг замечен - если значение calltip.lexer.word.wrap и расстояние до принимаемой функцией переменной совпадают(если эта переменная переносится на вторую строку в calltip'e), то при вводе этой переменной она перестает отображаться в окошке - остается только верхняя строка.
Автор: Oaklet, Отправлено:19:43 29-07-2009
mozers
Спасибо за скрипт!
Но у меня при отсутствии выделения пишет:
highlighting_identical_text.lua:47: attempt to call global 'GetCurrentWord' (a nil value)
Что делать? ))

Автор: tclerator, Отправлено:22:31 29-07-2009
Oaklet, обнови три скрипта отсюда http://code.google.com/p/scite-ru/source/detail?r=1127
Автор: Oaklet, Отправлено:23:17 29-07-2009
tclerator
Спасибо! Надо следить за ревизиями...
Автор: mozers, Отправлено:23:31 29-07-2009
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, Отправлено:22:40 30-07-2009
В регулярных выражениях планируется поиск альтернатив (абв|где)?
Автор: limittouch, Отправлено:08:55 31-07-2009
Ребят, кто разбирается, допилите пожалуйста поиск в SciTE for Windows, чтобы в DOS - кодировке он мог искать человеческие русские символы, а не крокозябры.

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

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

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

Автор: Psorokin, Отправлено:13:43 01-08-2009
mozers

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

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


Автор: Psorokin, Отправлено:14:33 01-08-2009
mozers

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

Для перетаскивания, но можно и по старинке.
highlighting_paired_tags.lua и HTMLFormatPainter.lua можно удалять?



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 / 105 / 106 / 107 / 108 / 109 / 110 / 111 / 112 / 113 / 114 / 115 / 116 / 117 / 118 / 119 / 120 / 121 / 122 / 123 / 124 / 125 / 126 / 127 / 128 / 129 / 130 / 131 / 132 / 133 / 134 / 135 / 136 / 137 / 138 / 139 / 140 / 141 / 142 / 143 / 144 / 145 / 146 / 147 / 148 / 149 / 150 / 151 / 152 / 153 / 154 / 155 / 156 / 157 / 158 / 159 / 160 / 161 / 162 / 163 / 164 / 165 / 166 / 167 / 168 / 169 / 170 / 171 / 172 / 173 / 174 / 175 / 176 / 177 / 178 / 179 / 180 / 181 / 182 / 183 / 184 / 185 / 186 / 187 / 188 / 189 / 190 / 191 / 192 / 193 / 194 / 195 / 196 / 197 / 198 / 199 / 200 / 201 / 202 / 203 / 204 / 205 / 206 / 207 / 208 / 209 / 210 / 211 / 212 / 213 /
SciTE © 2004 - 2011