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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: tilarids
Дата сообщения: 27.12.2008 01:10
Я сделал ебилд для себя, сейчас он включает только компиляцию исходников. По мере возможностей буду добавлять в него lua скрипты и прочее, что используется в сборке.
В принципе, могу ебилд куда-нибудь выложить, если кто хочет получить SciTERu отдельно от просто SciTE.
Автор: oldBob
Дата сообщения: 27.12.2008 10:28
vladvro, спасибо!
tilarids, если не сложно - выложи, плиз. Заранее благодарен!
Автор: tilarids
Дата сообщения: 27.12.2008 13:51
oldBob, http://voidwrk.googlepages.com/scite-ru-1.77.914-ebuild.tar.gz
Там ебилд и архив исходников.
Автор: Zloy_Gelud
Дата сообщения: 28.12.2008 16:40
Объясните, что случилось, пожалуйста. Запускаю скайт, а он, о ужа-а-ас, "голый"..никакого тулбара, ни русского языка, ни дополнений, ни чего короче не видит, как будто один экзешник устанавливался..Что это такое?!
Автор: ALeXkRU
Дата сообщения: 28.12.2008 22:14
Zloy_Gelud
если это был из скайт из руборд-сборки, то мог потерять путь к файлам пользовательских настроек... типа

Цитата:
scite.home=D:\Editors\SciTE
scite.userhome=$(SciteDefaultHome)\home
Автор: Zloy_Gelud
Дата сообщения: 28.12.2008 22:39
ALeXkRU

Цитата:
мог потерять путь к файлам пользовательских настроек...

Наверно так оно и было...Запустил SciTE_WinIntegrator.hta, установил по новой SCITE_HOME и вроде все нормализовалось, хотя до етого уже пытался так делать..
Автор: mozers
Дата сообщения: 28.12.2008 23:12
Zloy_Gelud
Цитата:
установил по новой SCITE_HOME
Удали эту переменную окружения раз и навсегда!
Случаев, когда она действительно необходима - раз, два и обчелся. А вот глюков от неверного применения - навалом. (Грозную подсказку, увы, никто не читает).
Из нового SciTE_WinIntegrator.hta эта опция исключена. (Слишком уж много народу наступили на эти грабли).
Автор: Bolenic
Дата сообщения: 29.12.2008 09:37
Да, с SCITE_HOME и у меня были нелады...
Автор: rank1
Дата сообщения: 08.01.2009 23:17
Всем доброго времени суток. Осваивая VB.NET попытался портировать в него свои старые наработки.
Взял VB6 исходник кода, в котором создаю createWindowEx окно Scite в PictureBox-e. Решил переписать его в виде контрола на VB.NET. Создал пользовательский контрол, в его методе New создал createWindowEx окно Scite, все появляется, оно отрисовывается, только ведет себя странно. Никак не реагирует на стрелки для перемещения курсора, а остальные клавиши работают и текст можно написать. Скорее всего какая-то лабуда с обработкой событий, кто-нибудь может знает какая?
Автор: euheny
Дата сообщения: 09.01.2009 02:36
mozers
А когда ждать очередную сборку?
А то вот думал обновиться, но
Цитата:
[Сборка 29.10.2008]

старовата
Автор: mozers
Дата сообщения: 09.01.2009 12:56
euheny
Цитата:
А когда ждать очередную сборку?
Сборку можно выложить хоть сейчас, вот только вместе с новым пакетом все пользователи получат букет так и не решенных багов:Глюк с открытием SciTE (Issue 105)
Глюк отображением тулбара (Issue 115)
Так и не отлаженные до конца настроки для nnCron (Fort)
Неисправленный баг с smartbraces.lua (Issue 132)
Недоделанный и глюкавый новый вариант AutocompleteObject.lua
Я перечислил только баги. Из них только последний, (я надеюсь на TymurGubayev) будет доведен до победного конца в самое ближайшее время.
А есть еще и недоделаные усовершествования...
Поэтому те, кто своими баг-репортами и предложениями помогает сделать пакет еще лучше, могут обновить файлы сборки взяв их на SVN.
Те кого интересует только готовый результат пусть ждут. Сколько ждать? - зависит только от Вас.
Автор: Julgo
Дата сообщения: 09.01.2009 15:37

Цитата:
Неисправленный баг с smartbraces.lua (Issue 132)

Это небольшой недочет в коде. Я когда столкнулся с ним, впал в полный ступор, после 3 такого раза хотелось разбить монитор, бесит очень сильно.

Код:
-- по волшебному обрабатываем скобку } в cpp
if    ( char == '}' ) and
    ( editor.LexerLanguage == 'cpp' or editor.LexerLanguage == 'css' )
then
    editor:BeginUndoAction()
    editor:BackTab()
    editor:AddText( '}' )
    editor:EndUndoAction()
    return true
end
Автор: mozers
Дата сообщения: 09.01.2009 16:25
Julgo
Опиши, pls, каковы преимущества твоего варианта (помимо того, что в нем отсутсвует вышеупомянутый баг) - подробно, чтобы можно было исправить существующее описание.
Или функционал не изменился? (только баг устранен).
Автор: mozers
Дата сообщения: 09.01.2009 19:30
gal7
Подробнее чем тут расписано не расскажу.
По умолчанию для запуска перловых скриптов из SciTE используются такие командные строки:
Код: # Команда меню - Выполнить (F5)
command.go.$(file.patterns.perl)=perl -w $(FileNameExt)

# Команда меню - Компилировать (Ctrl+F7)
command.compile.$(file.patterns.perl)=perl -c -w $(FileNameExt)
Автор: VoidVolker
Дата сообщения: 13.01.2009 11:52
gal7

Цитата:
Запускал по-всякому программно, вручную такого же эффекта как в Scite не могу добиться.

Проверь "текущую дирректорию" для запущенной программы - Scite имеет привычку по-умолчанию запускать программы в своей дирректории, а не в той, в которой находится программа.

Добавлено:
mozers

Цитата:
букет так и не решенных багов:
...
3. Так и не отлаженные до конца настроки для nnCron (Fort)

А можно подробнее?
Автор: mozers
Дата сообщения: 13.01.2009 20:23
VoidVolker
Все мои замечания - в соседнем топике, начиная с 25 страницы.
С того времени никто ничего не исправлял. (Только VladVRO лексер правил) Или считаете что "и так сойдет"?

Поговорил с VladVRO - в ближайшее время выложим "бетту" для тестирования имеющихся багов...
Автор: mozers
Дата сообщения: 14.01.2009 21:05
Сборка [14.01.2009] SciTE-Ru Pack (Kernel 1.77 .62Ru) BETA

Пакет собран 1:1 с текущей версии лежащей на SVN.
Прошу проверить работоспособность своих и чужих предложений перед тем как их увидит весь мир.
Очень может быть что какую то отличную идею неправильно интерпретировали или она потеряла свою работоспособность в результате конфликта с другой доработкой.
Вполне вероятно что доработка скверно описана в документации.
Возможно что какое то дельное предложение было пропущено в суматохе и не попало в сборку.
Проверьте пока не поздно и предложите конкретные заплаты к проекту.

Что нуждается в проверке работоспособности:
- новый AutocompleteObject.lua (можете использовать проверочные файлы).
- новый abbrevlist.lua (для всех файлов имеющих соответствующие файлы сокращений).
- новая доработка autocompleteword.incremental
- новая подсветка файлов nnCron/Fort
- удобство работы с файлами nnCron/Fort (их настройки поменялись самым существенным образом).
- Обратите внимание на документацию. Все официальные изменения внесены в русский вариант?
Ну вообще много что изменилось. О чем то и забыл упомянуть...
Помните, что без вашей помощи релиз никогда не появится!
Автор: deadbead
Дата сообщения: 16.01.2009 09:06
Приветствую... Хочу добавить новый язык... язык похож на С++, поэтому cpp лексер вроде как подходит, но! Хотелось бы изменить пару моментов....
1. Добавить стиль к переменным $x (как в au3 лексере, например)
2. Отдельный стиль для некоторых зарезервированных переменных $var

Отсюда вопросы..
1. Можно ли добиться этого через properties файлы? (4 дня мучался - не получилось..)
2. Где найти инф. о том как сделать свой лексер? А то все поиски упираются в SciTEExternalLexer.html, где написано, что предполагается, что я знаю как делать лексеры....
Автор: vladvro
Дата сообщения: 16.01.2009 12:55
deadbead

Цитата:
1. Можно ли добиться этого через properties файлы? (4 дня мучался - не получилось..)
2. Где найти инф. о том как сделать свой лексер?

1. Через properties файлы новые стили добавить нельзя, требуется правка кода самого лексера.
2. Что то можно найти в SciTELexer.html, что то в документации по Scintilla.
Автор: mozers
Дата сообщения: 17.01.2009 08:26
Выкладываю очень удобный скрипт RestoreRecent.lua: [more]
Код: --[[--------------------------------------------------
RestoreRecent.lua
Authors: mozers™
Version: 1.0
------------------------------------------------------
Description:
Restore position, bookmarks, folds at opening recent file
Восстанавливает позицию курсора, букмарки и фолдинг при повторном открытии файла
(если ранее он открывался в течении предыдущей сессии).
Почему этого функционала нет в ядре SciTE? - совершенно непонятно
------------------------------------------------------
Connection:
In file SciTEStartup.lua add a line:
dofile (props["SciteDefaultHome"].."\\tools\\RestoreRecent.lua")
--]]--------------------------------------------------

local buffers={}

local function ReadSession()
local session_file = io.open(props['SciteUserHome']..'\\SciTE.session')
if session_file then
local
pattern = "buffer%.(%d+)%.(%a+)=(.+)"
for line in session_file:lines() do
if
#line > 10 then
local
n, p, v = string.match (line, pattern)
if n ~= nil then
n = tonumber(n)
if buffers[n] == nil then
buffers[n] = {}
end
buffers[n][p] = v
end
end
end
session_file:close()
end
end
ReadSession()

local function CheckSession()
for i = 1, #buffers do
if
buffers[no][[/no]i]['path'] == props['FilePath'] then return buffers[no][[/no]i] end
end
end

local function
Restore(file)
local FileParams = CheckSession()
if FileParams ~= nil then
print(file.." - YES")
-- Restore position
if tonumber(props['save.position']) == 1 then
local
pos = FileParams['position']
if pos ~= nil then
editor:GotoPos(pos)
end
end
-- Restore bookmarks
if tonumber(props['session.bookmarks']) == 1 then
local
bookmarks = FileParams['bookmarks']
if bookmarks ~= nil then
for
line_num in string.gmatch(bookmarks, "%d+") do
editor:MarkerAdd(tonumber(line_num)-1, 1)
end
end
end
-- Restore folds
if tonumber(props['session.folds']) == 1 then
local
folds = FileParams['folds']
if folds ~= nil then
for
line_num in string.gmatch(folds, "%d+") do
editor:ToggleFold(tonumber(line_num)-1) -- При открытии файла эта команда не срабатывает !!! (Баг SciTE ???)
end
end
end
else
print(file.." - NO")
end
end

-- Add user event handler OnOpen
local old_OnOpen = OnOpen
function OnOpen(file)
local result
if old_OnOpen then result = old_OnOpen(file) end
if
tonumber(props['save.session']) == 1 then
Restore(file)
end
return
result
end
Автор: VoidVolker
Дата сообщения: 18.01.2009 22:39
mozers

Цитата:
- новая подсветка файлов nnCron/Fort
- удобство работы с файлами nnCron/Fort

Форт по-английски пишется как Forth. Как только будет возможность - обязательно все тщательно изучу и отпишусь.
Автор: eXeC001er
Дата сообщения: 19.01.2009 19:05
Подскажите как мне сделать так чтобы подсветка синтаксиса для определенных слов была только для верхнего или только для нижнего регистра.
Автор: vladvro
Дата сообщения: 21.01.2009 14:21
eXeC001er

Цитата:
Подскажите как мне сделать так чтобы подсветка синтаксиса для определенных слов была только для верхнего или только для нижнего регистра.

Не берусь утверждать про все лексеры редактора, но я не встречал параметра позволяющего задавать чуствительность ключевых слов к регистру, за исключением параметра для тегов в HTML. Полагаю что без правки кода нужного лексера этого получить не получится.
Автор: mozers
Дата сообщения: 23.01.2009 17:19
Сборка SciTE-Ru Pack (Kernel 1.77 .62Ru) BETA

На что сейчас хотелось бы обратить внимание:
Модифицированы файлы аббревиатур. Исправлены ошибки. Добавлены новые cокращения блоков кода и пользовательских функций.
Прошу самым внимательнейшим образом изучить добавленные и модифицированные функции. Их применение может вам сильно облегчить жизнь, поскольку предложенные участки кода применяются постоянно, а сокращение содержит самый правильный и оптимизированный вариант решения.
Очень прошу отзывчивых программистов выкладывать свои(и чужие) варианты решения часто возникающих ситуаций.
Пусть наши abbrev-файлы будут сборником самых оптимальных решений!
Новый параметр highlight.links.mask позволяет задать маску для поиска линков в тексте для их подсветки и открытия (HighlightLinks.lua)
Комплект из 2х скриптов RestoreRecent.lua и RestoreRecent.js восстанавливают позицию курсора, букмарки и фолдинг при повторном открытии ЛЮБОГО файла. (Подробности и проблемы описаны в RestoreRecent.lua)
Жду ответа как соловей - лета!
Автор: eugenk1
Дата сообщения: 24.01.2009 04:09
Приветствую всех кто в теме ! Первое и самое главное. Народ, моё восхищение и всяческие респекты ! О редакторе я узнал совершенно случайно. Скачал, попробовал. Это просто сказка какая -то ! Маленький, быстрый, удобный, и под винды и под линя... Короче мечта идиота, которую я искал всю жизнь. Я сам пользуюсь эклипсом. Увы, альтернативы ему сейчас нет, несмотря на монстроидальность, куда меньшие чем в SciTE удобства, расточительность по памяти, медлительность и т.п. Поэтому народ, возможно я тут буду запинан ногами и покрыт вечным позором и ненормативной лексикой, но у меня предложение. А не сделать ли нам из SciTE что-то похожее на эклипс ? Только написанное на C++ а потому маленькое, быстрое и эффективное. Я поковырялся немного в исходниках, честно скажу, если исходить из идеологии эклипса (на мой взгляд она верна на 100%), то написано всё безобразно. Штука совершенно явно претендует на расширяемый редактор, а такие компоненты как лексеры жестко компилячутся в ядро. По хорошему место всей этой хрени в плагинах. А ядро должно заниматься исключительно загрузкой необходимых плагинов. Второй момент это отладчики. Никто не пытался их интегрировать в среду ? Хотя бы для lua, который как я понял, основной скриптовой язык системы. В идеале я вижу небольшое ядро, окруженное модулями работы с языками. Эти модули содержат лексеры, скрипты, построители make-файлов, средства связи с отладчиками и т.д. API связи с ядром и интеграции очень подробно и ясно описан в документации, и каждый желающий имеет возможность написать нужные ему модули самостоятельно. Такая система стала бы очень похожей на эклипс, только без всех его недостатков, связанных с явой. Был бы очень рад, если бы тут нашлись желающие это обсудить.
Автор: mozers
Дата сообщения: 24.01.2009 17:09
eugenk1
Цитата:
Штука совершенно явно претендует на расширяемый редактор, а такие компоненты как лексеры жестко компилячутся в ядро.
Лексеры пишутся, в основном, сторонними энтузиастами соображающими в С по стандартной методе (Installing a lexer into SciTE, Creating and installing an external lexer). То, что все они компилируются в один файл, а не разбросаны в виде отдельных dll-ек - по существу абсолютно ничего не меняет.

Цитата:
По хорошему место всей этой хрени в плагинах.
Плагины поддерживают некторорые другие редакторы (например Notepad++) основанные на том же движке (Scintilla). Но и тут забивать в плагины отдельные лексеры никто не захотел. ЗАчем?
Вот Mitchell Foral придумал писать лексеры на lua - эта идея мне нравится, поскольку поправить такой лексер сможет каждый. Вот только насчет скорости работы редактора при таком подходе скромно промолчу...

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

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

Цитата:
В идеале я вижу
Так сегодняшняя реальность - практически 1:1 совпадает с твоим идеалом
Цитата:
небольшое ядро, окруженное различными модулями работы с языками. Эти модули содержат лексеры, скрипты, построители make-файлов, средства связи с отладчиками и т.д. API связи с ядром и интеграции очень достаточно подробно и ясно описан в документации, и каждый желающий имеет возможность написать нужные ему модули самостоятельно.
Автор: eugenk1
Дата сообщения: 24.01.2009 19:59
mozers, спасибо ! Ссылки очень интересные. Увы, для меня всё это ново. Я в основном для различных железяк писательством занимаюсь. А собственно для PC почти не программирую. Почему и сидел на своем инструментарии и мало смотрел по сторонам. Теперь понимаю что зря, мог бы узнать много нового и интересного. Вобщем пока изучаю доки и смотрю исходники, а в будущем хотелось бы поучаствовать в проекте. Просто впервые вижу штуку, которая по идее могла бы составить конкуренцию эклипсу. И разумеется сразу же её хочу
По поводу лексеров на lua. Поглядел и оценил. Вместо в среднем 12 кило на C++ получается 2.5 на lua. Причем не сказал бы что уж слишком тормозит. Хотя копм у меня довольно слабый. Во всяком случае если сохранить обе возможности - лексеры на C++ и на lua, то второй вариант бесценен для быстрого прототипирования. А это тоже весьма важный момент, даже если выяснится что прототип на lua тормозит.
Насчет отладчиков пока не глядел, там очень много и нужно подробно разбираться. У меня была мысль сделать какой-то универсальный интерфейс отладки на TCP/IP. Собственно большинство отладчиков по-моему с TCP/IP дружат. Сделать так, чтобы редактор мог отправлять и получать сообщения не слишком трудно. А скажем такие вещи как окошки для переменных, дампы памяти и прочая лабуда уже делается на lua для каждого языка и для каждой платформы (например для i386, ARM и PPC, что для меня самое значимое). Точно так же можно JTAG подцепить. Это ващще будет песня - отладка в исходных кодах непосредственно на железке.
Вобщем очень, очень интересный проект у вас, ребята...
Автор: tilarids
Дата сообщения: 25.01.2009 11:09
@eugenk1, посмотри в сторону IDE Anjuta. Написано на GTK, как я понимаю, на С, оно весьма и весьма шустрое. Чтобы заинтересовать:
- в качестве редактора можно использовать SciTE
- есть отладчик, куча различных визардов и тулзов
- есть плагины(например, интеграция с VCSами, Valgrind и многое тому подобное)

Вот так вот
Автор: eugenk1
Дата сообщения: 25.01.2009 21:58
К сожалению Анюта только для линя. А я большую часть времени под виндой работаю. Увы, просто под линём нет некоторых очень важных для меня вещей, а то давно бы перешел. Ладно, вобщем с SciTE понемногу разобрался, во всяком случае до уровня понимания, что оно в принципе может, а чего в принципе не может. Кстати в самом scite (не в scintilla) обратил внимание на очень качественный код, легко допускающий разного рода расширения и плагины. Молодцы, это грамотно сделали. Ну а резюме следующее. Конечно новым эклипсом оно никогда не станет. Это scite придется заново переписывать. Но конкурировать с ним сможет вполне. Просто супермегагибкость эклипса по большому счету никому не нужна. Если я пишу что-то на жабе, а потом вдруг захотелось изобразить нечто на сях, скорее всего это будут либо разные проекты, либо достаточно обособленные куски одного проекта. И наверно требовать того, чтобы я для такого перехода не покидал среду (как оно делается в эклипсе) врядли разумно. А вот перезапустить SciTE с другими настройками - легко. На мой взгляд, что сейчас в первую очередь нужно, это
1) Отладчики
2) Менеджеры проектов
Причем если первое может быть каким-то довольно универсальным встроенным интерфейсом (хотя бы на TCP/IP), то второе в силу разнообразия, должно быть плагинами.
С плагинами я пока не разобрался. Скорее всего их можно было бы как-то сделать через lua-скрипты и *.properties. По-идее сам файл глобальных настроек и есть ни что иное, как главный плагин... А вот с прикручиванием отладчиков с одной стороны похоже проще (нет разнообразия) с другой сложнее (это работа с ядром). И наверное именно этим я сейчас и займусь...
Автор: tilarids
Дата сообщения: 25.01.2009 23:33
http://sourceware.org/cygwinports/ - кажется, тут есть Анюта. То бишь, под винду работать будет.

По поводу встраивания отладчика - лучше бы просто хорошую консоль туда. Можно было бы прямо в консоли отлаживать...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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