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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: Erendir
Дата сообщения: 02.12.2009 03:57
idlenlazy


Цитата:
При попытке сохранить файл с расширением .inc вылетает сообщение в консоли:
D:\Programmes\Text\SciTE\tools\SideBar.lua:917: attempt to perform arithmetic on local 'start_code_pos' (a nil value)


поправил, см. http://code.google.com/p/scite-ru/source/detail?r=1245

Проблема кроме прочего и в том, что файлы *.inc интерпретируются как паскалевы (на что указывает, например, имя лексера pascal в строке статуса).
В общем, с последней версией сообщений в консоли быть не должно.
Автор: idlenlazy
Дата сообщения: 02.12.2009 12:48
Erendir
Вроде работает .

mozers

Цитата:
Если необходимость - острая и обоснованная

Для меня - нет. Писал как-то скриптик для замены с регекспами (встроенные в Scite не устроили) и обратил внимание. Пришлось по углам разводить замену выделенного текста и замену по всему файлу.
Автор: QDima81Q
Дата сообщения: 04.12.2009 07:34
Здравствуйте. Подскажите пожалуйста как поставить сборку SciTE-Ru - 1.79 .66 в ubuntu - недавно пересел.
В внде SciTE использовал для редактирования сайтов - очень удобная программа.
Автор: mozers
Дата сообщения: 04.12.2009 22:35
QDima81Q
Отвечали уже.
Автор: CaPpuCcinoZ
Дата сообщения: 10.12.2009 18:53
доброго вр. суток.
разрабатываем приблуды для расширения Scite, необходим обработчик события onDwellStart, но как ни ковырялся никак не удалось добится его запуска.
как только не обхаживал его не работает даже простейший пример

Код:
props["dwell.period"] = 1000
-- Add user event handler OnSwitchFile
local old_OnSwitchFile = OnSwitchFile
function OnSwitchFile(file)
local result
--editor.MouseDwellTime = 1000
if old_OnSwitchFile then result = old_OnSwitchFile(file) end
scite.SendEditor(SCI_SETMOUSEDWELLTIME,2000)
print ("onSwitchFile:SETMOUSEDWELLSTIME =", editor.MouseDwellTime)
return result
end

-- Add user event handler OnOpen
local old_OnOpen = OnOpen
function OnOpen(file)
local result

--editor.MouseDwellTime = 1000
if old_OnOpen then result = old_OnOpen(file) end
scite.SendEditor(SCI_SETMOUSEDWELLTIME,1000)
return result
end

local old_OnDwellStart = OnDwellStart
function onDwellStart(pos, word)
local result
if old_OnDwellStart then result = old_OnDwellStart(pos, word) end
print ("onDwellStart")
--scite.SendEditor(SCI_CALLTIPSHOW,pos,word)
return result
end
Автор: mozers
Дата сообщения: 10.12.2009 21:06
CaPpuCcinoZ
C первым постом!
Не понял я смысла твоего примера. Привожу простенький работающий вариант:
Код: -- Обработчик события OnDwellStart
local old_OnDwellStart = OnDwellStart
function OnDwellStart(pos, word)
local result
if old_OnDwellStart then result = old_OnDwellStart(pos, word) end
print(pos, word)
return result
end
Автор: CaPpuCcinoZ
Дата сообщения: 11.12.2009 18:43
2 mozers
"Надеюсь, поделитесь когда получится?"
обязательно поделимся. работа направлена на адаптацию SciTE для нужд разработчиков аппаратуры (язык HLD). в частности интеграции с пакетами разработки и глубокий парсинг языков (сейчас SystemVerilog, но т.к. синтаксис у этого языка очень похож на C++, то может быть полезен и для программистов). работы уже пебликуются на http://electronix.ru/forum/index.php?showtopic=70446&st=0 , но стабильного релиза пока не скомпоновали (пока думаем какие фичи были бы полезны).

"Эвент OnDwellStart сработает через заданное время, если позиция мыши за это время сменилась."
простите, я не ослышался? событие генерируется если мышь двигается? мне казалось, что если находится в покое более некоторого порогового времени. иначе зачем такое событие может пригодится?

"Не понял я смысла твоего примера."
смысл моего примера только в том, чтобы убедиться, что событие отрабатывает (дословно: когда обработчик запускается, он печатает контрольное сообщение в консоль), я надеялся на то что он должен срабатывать после каждого отсчёта 1 секунды, если мышь в состояние покоя.

Добавлено:
"Эвент OnDwellStart сработает через заданное время, если позиция мыши за это время сменилась."
я просто расчитывал, что можно будет подсвечивать(в сплывающем calltip-e) тип переменной при наведение на неё указателя мыши, но получается так что это событие вовсе для этого не подходит.
а не подскажете есть ли событие, котроое отрабатывает при покое мыши над объектом?
Автор: mozers
Дата сообщения: 12.12.2009 12:29
CaPpuCcinoZ
Цитата:
а не подскажете есть ли событие, котроое отрабатывает при покое мыши над объектом?
Такого события нет. И зачем оно нужно??? "При наведение на неё указателя мыши" позиция мыши, естественно, изменится и эвент OnDwellStart сработает, что и требуется.
Еще calltip-ы можно показывать используя встроенный механизм api. Так можно обойтись и без скриптов.
Автор: CaPpuCcinoZ
Дата сообщения: 12.12.2009 19:26
" Такого события нет. И зачем оно нужно??? "
просто логика события в документации на мой взгляд была коряво описана. когда я читаю фразу, о том что отчёт идёт после начала движения, сразу возникает вопрос, а какие значения будут возвёрнуты по истечении таймаута, если мышь находится ещё в движение. очевидно, что на ум приходит, что будут возвращены значения, которые оказались в данное мгновение под хвостом. оказывается это не так, а событие сработает только если мышь снова где-то заснула. т.е. всё-таки существует какой-то таймер, который следит сколько мыщь находится в покое, ну да надно это уже детали. т.к. всё-таки я заставил скрипт работать:
оказалось, что дело было в том, что инструкция
scite.SendEditor(SCI_SETMOUSEDWELLTIME,2000)
была в 2-ух обработчиках
в OnSwitchFile(file) и OnOpen(file). почему-то если эта инструкция находится в первом обработчике событие перестаёт срабатывать, независимо есть ли она во втором. т.е. на размещение в OnSwitchFile(file) есть кажется какая-то аллергия.
Автор: mozers
Дата сообщения: 13.12.2009 13:08
CaPpuCcinoZ
Цитата:
почему-то если эта инструкция находится в первом обработчике событие перестаёт срабатывать, независимо есть ли она во втором. т.е. на размещение в OnSwitchFile(file) есть кажется какая-то аллергия
Ничего подобного не наблюдаю: [more]
Код: -- Обработчик события OnOpen
local old_OnOpen = OnOpen
function OnOpen(file)
local result
if old_OnOpen then result = old_OnOpen(file) end
scite.SendEditor(SCI_SETMOUSEDWELLTIME,300)
print("OnOpen")
return result
end

-- Обработчик события OnSwitchFile
local old_OnSwitchFile = OnSwitchFile
function OnSwitchFile(file)
local result
if old_OnSwitchFile then result = old_OnSwitchFile(file) end
scite.SendEditor(SCI_SETMOUSEDWELLTIME,300)
print("OnSwitchFile")
return result
end


-- Обработчик события OnDwellStart
local old_OnDwellStart = OnDwellStart
function OnDwellStart(pos, word)
local result
if old_OnDwellStart then result = old_OnDwellStart(pos, word) end
print(pos, word)
return result
end
Автор: rank1
Дата сообщения: 16.12.2009 16:43
Всем привет! Огромный респект команде Scite руборд!!! Недавно возникла задачка написать тул для mdx запросов к локальным OLAP кубам получаемым из Excel, и столкнулся с тем, что не так уж много на VB.NET готовых примерчиков для работы со Scite. Пришлось возиться и конвертить код из Vb6 в VB.NET. Предлагаю выложить мое творение на Scite-ru, дабы популиризовывать добрейший скайт.

Кончилось все тем, что я пришел к идее - зачем я парюсь с этим тулом, когда можно сделать отдельную topmost window форму, которая читает из cub файла метаинформацию и выводит в виде дерева элементов (получается палитра элементов, которые можно перетаскивать в скайт). Сделать отдельную утилиту командной строки, которая получает из scite, текущее имя файла и по make и переменной среды CURRENTCUBE берет файл с MDX запросом, через MSOLAP.8 запускает запрос к кубу - результат выводит в виде грида, или пишет в экселевском формате в XML (через OWC10.Spreadsheet). Получилась своеобразная MDX среда.
Еще раз убедился, что скайт просто вещь - дописал к нему внешние утилиты - и полноценная среда готова!!!!
Еще есть задумка взять препроцесор cpp.exe из бесплатного компилятора Bc++5.0 и юзать его чтобы делать #include библиотеки mdx формул!!!

Автор: Psorokin
Дата сообщения: 23.12.2009 08:26
mozers
Почему в окне консоли, при обработке php, русский текст превращается в кракозябры?
Можно ли передать данные из окна консоли в браузер?
Автор: mozers
Дата сообщения: 23.12.2009 16:54
Psorokin
Цитата:
Почему в окне консоли, при обработке php, русский текст превращается в кракозябры?
Наверное стоит галка в "Tools" - "Настройки" - "Окно консоли: Перекодировка из OEM в ANSI".

Цитата:
Можно ли передать данные из окна консоли в браузер?
Считать данные с консоли - запросто (output:GetText())
Запустить браузер - запросто (os.execute()).
Что же касается передачи данных, то тут возникаем множество встречных вопросов (что передавать? url? текст? Куда передавать? В адресную строку? В конкретную форму на странице?...)
И все эти вопросы ну никак не касаются SciTE.
Автор: Psorokin
Дата сообщения: 23.12.2009 21:03
mozers
«Галку» убрал, спасибо.
Автор: Psorokin
Дата сообщения: 28.12.2009 20:34
mozers
Почему в php комбинация клавиш Ctrl+Q вставляет html комментарий, а не /* */
Можно ли перенастроить?
Автор: mozers
Дата сообщения: 29.12.2009 10:59

Цитата:
mozers
Не надо задавать вопросы на которые могут ответить и другие, одному человеку

Вид комментария определяется текущим лексером. А для php нет отдельного лексера, всю обработку ведет лексер hypertext.
Т.е. для всех языков, которые обрабатываются с его помощью (html, xml, php, js, vbs, asp и др.) можно задать только один комментарий (comment.stream.start/end.hypertext, comment.block.hypertext). Только его и можно изменить.
Автор: mozers
Дата сообщения: 01.01.2010 00:32
SciTE 2.01 .71 Ru-Board Edition [Сборка 01.01.2010]

Новые доработки. Исправления найденных ошибок:
Новый творец - neo4max выполнил самую серьезную правку ядра программы:
Цитата:
Добавлена возможность вставки текста из буфера обмена одновременно во все выделенные области (Issue 171)
Теперь SciTE проверяет наличие редактируемого файла на диске и при его отсутствии выводит соответствующее предупреждение. Кроме этого исправлено детектирование изменения даты редактируемого файла. (Issue 172)
Исправлена ошибка связанная с открытием несуществующего файла. (Issue 174)
Исправлена ошибка в диалоговом окне "Параметры" не позволявшая вводить не латинские буквы (Issue 177).


Восставший из небытия BioInfo восстановил работоспособноть доработки [LowerUpperCase].
А то без неё не работал ни поиск ни перевод в верхний/нижний регистр когда это дело касалось русских букв.

Лучший спец по Lua - tymur.gubayev оттачивал функционал [Functions list] SideBar-а:
Цитата:
: скрипт не работал при наличии для лексера тэга начала блока имлементации ( "IMPLEMENTATION" в Паскале), но отсутствии такового в тексте. (Теперь такие "плохие" файлы обрабатываются полностью). Спасибо idlenlazy, обнаружившему данный баг.
исправлены паттерны распознавания функций С++ (баги обнаружил Boris A. Brandin), теперь в списке функций не будет мусора вроде "if ()", также теперь корректно распознаётся конструкторы класса вида "PrefDialog::PrefDialog(...) : QDialog(parent){...}"


Исправлены и другие ошибки:
Цитата:
RegJump.js: На некоторых системах скрипт мог не срабатывать.
AutocompleteObject.lua: Исправлена ошибка приводившая к раскрытию раскрывающегося списка в одну строку
COMMON.lua: Исправлена ошибка, найденная SuperXuxiaofei (Issue 178)
MoveLines.lua: Исправлена ошибка при перемещении выделенных строк вверх и вниз.
Исправлена ошибка, возникавшая при открытии выделенного файла (Ctrl+Shift+O) если в имени последнего имелись символы национального алфавита.

C Новым Годом!
Автор: FreePaul
Дата сообщения: 01.01.2010 02:33
Спасибо! Отличный подарок к Новому году!!!
Автор: Vidocqq
Дата сообщения: 02.01.2010 12:38
Всех с новым годом!
Только начал пользоваться программой, до этого сидел на NotePad++, так вот в последней есть удобная функция - при выделении какого-либо "слова", автоматически подсвечивались все одноимённые "слова" в текстовом файле.
Можно такое как-нибудь сделать и в этом редакторе?
Автор: dB6
Дата сообщения: 02.01.2010 13:01
Давненько я не появлялся в этом и смежном топиках , но не суть. Всех, кто занимается этим полезным делом - поздравляю с Новым годом! Желаю, чтобы он был лучше старого, чтобы всё получалось - и дома и в семье и на работе. И кроме этого - чтобы оставалось время заниматься вещами, которые приносят удовольствие и пользу. Спасибо вам за доработки, новые фичи, за сборку в целом! С Новым годом!
Автор: ALeXkRU
Дата сообщения: 02.01.2010 13:49
Vidocqq

Цитата:
Можно такое как-нибудь сделать и в этом редакторе?

а как же..
открываешь файл настроек (глобальных) в Ru-Board-сборке

и ищешь:
Код: # Авто подсветка текста, который совпадает с текущим словом или выделением (highlighting_identical_text.lua)
highlighting.identical.text=1
Автор: Vidocqq
Дата сообщения: 02.01.2010 14:19
ALeXkRU
Спасибо, работает.
В качестве выделения используется выделение, а можно сделать чтобы подсветка выполнялась цветной заливкой?
Автор: vladvro
Дата сообщения: 02.01.2010 14:37
Всех с Новым Годом! Счастья и успехов!

Vidocqq

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

да, можно
SciTEGlobal.properties [строка 938] :
Код: # для highlighting_identical_text.lua:
find.mark.4=#FF9900,box
find.mark.5=#FF0000,box
Автор: Psorokin
Дата сообщения: 03.01.2010 19:46
Хотел добавить сочетание клавиш Ctrl+Alt+C для упорядочивания таблицы стилей.
Добавил Ctrl+Alt+C|9160|\ в user.shortcuts но не заработало.
Подскажите где ошибка?
Автор: mozers
Дата сообщения: 04.01.2010 12:06
Psorokin
Ошибки нет. Просто какая то виндовая прога перехватывает популярный шорткат (у меня, например, на Ctrl+Alt+C сработал CLCL).
Заменил Ctrl+Alt+C на Ctrl+Alt+U и все заработало.
Автор: Psorokin
Дата сообщения: 04.01.2010 14:50
mozers
Ctrl+Alt+U заработало. Спасибо.
Автор: mozers
Дата сообщения: 04.01.2010 17:09
Psorokin
У меня и Ctrl+Alt+C заработало, только для этого пришлось отрубить мою любимую CLCL и в SciTEToolsMenu.properties закомментировать строчку
Код: command.shortcut.81.*=Ctrl+Alt+C
Автор: donbaton
Дата сообщения: 10.01.2010 20:29
А как макросам присвоить понятные имена?
Автор: ruChessMax
Дата сообщения: 11.01.2010 23:02
Скачал вот эту сборку: SciTE-Ru - 2.01 .71 [Сборка 01.01.2010]
Все бы хорошо, но почемуто не показывает подсказки в php. autocompleteword.automatic=1 - вроде так. Ченить с этим можно поделать?.
И еще очень хотелось бы скриптик "go to definition". Тоесть навел мышкой на слово с зажатым ctrl щелчок и попадаем в место где оно определено. Ну или хотябы по горячей клавише.
Автор: data man
Дата сообщения: 12.01.2010 09:37
Несколько дней, как изучаю SciTE-Ru. Выкинул Notepad++. Сделать это было непросто... а очень просто !
Большое спасибо всей команде SciTE-Ru за огромную проделанную работу !
Потихоньку делаю delphi.properties (всё-таки отличия Delphi от FreePascal значительные).
Кое-что нашёл здесь, теперь дополняю.
Присоединяюсь к этой просьбе
Цитата:
И еще очень хотелось бы скриптик "go to definition". Тоесть навел мышкой на слово с зажатым ctrl щелчок и попадаем в место где оно определено. Ну или хотябы по горячей клавише.
Сейчас думаю, как проще сделать возможность перехода от деклараций функций/процедур/методов к их реализациям и - наоборот (как в Delphi IDE). Насколько успел разобраться, универсально это можно реализовать модификацией SideBar.lua - записывать в table_functions также и номера строк деклараций функций.
Ну и, собственно, мой вопрос: есть способ проще ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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