Ru-Board.club
← Вернуться в раздел «Тестирование»

» SciTE Ru-Board Edition

Автор: BioInfo
Дата сообщения: 23.03.2008 20:00
mozers

Цитата:
Мне кажется что разрывать их на несколько строк неверно

Ну я предлагаю дву варианта: либо разрешить перенос, либо переносить целиком если не влезает. Как это технически сделать я не знаю.
Я говорю про факты: текущее положение дел добавляет прокрутку и портит таблицу (в одном месте не влезает, где-то в центре).

Цитата:
Эти цвета взяты с оригинальной документации. Имхо - привычные нормальные цвета. Более контрастные будут более раздражающими. Хотя на вкус и цвет, как известно...

Просто не видно, говорю как пользователь.

Цитата:

Цитата: он понимает символ '#'

Да. Надо уточнить что он не может быть первым.
Автор: mozers
Дата сообщения: 23.03.2008 22:41
BioInfo
В общем - все поправил

Цитата:
он понимает символ '#'
Кстати может убрать данное ограничение для аббревиатур?
НЕ НАДО.

Цитата:
Не будет же он в стилях капаться, я туда с опаской гляжу...
Ну это ты - зря...
Стили - это основа, на которой строится вся визуальная настройка SciTE.
99% вопросов вызваны именно непониманием 3х простых вещей:
- то, что внешний вид любого элемента в окне редактирования задается стилем
- то, что у каждого элемента - свой стиль номер (от 0 до 128)
- то, что конкретный стиль - не что иное, как единственная строка с параметрами.
В новом help этот вопрос достаточно подробно разжеван.
Автор: mozers
Дата сообщения: 30.03.2008 11:44
Взбудораженный решениями codewarlock1101, переписал FindText.lua. Сейчас он:
Цитата:
* Если текст выделен - ищется выделенная подстрока
* Если текст не выделен - ищется текущее слово
* Поиск возможен как в окне редактирования, так и в окне консоли
* Строки, содержащие результаты поиска, выводятся в консоль
* Перемещение по вхождениям - F3 (вперед), Shift+F3 (назад)
* Каждый новый поиск оставляет маркеры своего цвета
* Очистка от маркеров поиска - Ctrl+Alt+C
[more]
Код: --[[--------------------------------------------------
FindText v6.5
Авторы: mozers™, mimir, Алексей, codewarlock1101

* Если текст выделен - ищется выделенная подстрока
* Если текст не выделен - ищется текущее слово
* Поиск возможен как в окне редактирования, так и в окне консоли
* Строки, содержащие результаты поиска, выводятся в консоль
* Перемещение по вхождениям - F3 (вперед), Shift+F3 (назад)
* Каждый новый поиск оставляет маркеры своего цвета
* Очистка от маркеров поиска - Ctrl+Alt+C

Внимание:
В скрипте используются функции из COMMON.lua (EditorMarkText, EditorClearMarks)
-----------------------------------------------
Для подключения добавьте в свой файл .properties следующие строки:
command.name.130.*=Find String/Word
command.130.*=dofile $(SciteDefaultHome)\tools\FindText.lua
command.mode.130.*=subsystem:lua,savebefore:no
command.shortcut.130.*=Ctrl+Alt+F

command.name.131.*=Clear All Marks
command.131.*=dostring EditorClearMarks(0, editor.Length) props["current_mark_style"] = 27
command.mode.131.*=subsystem:lua,savebefore:no
command.shortcut.131.*=Ctrl+Alt+C

Дополнительно необходимо задать в файле настроек стили используемых маркеров (в этом скрипте используется 5 маркеров):
find.mark.27=#CC00FF
find.mark.28=#0000FF
find.mark.29=#00CC66
find.mark.30=#CCCC00
find.mark.31=#336600
--]]----------------------------------------------------

local sText = props['CurrentSelection']
local flag = 0
if (sText == '') then
sText = props['CurrentWord']
flag = SCFIND_WHOLEWORD
end
local
current_mark_style = tonumber(props["current_mark_style"])
if current_mark_style == nil then current_mark_style = 27 end
if
current_mark_style < 27 then current_mark_style = 27 end
if
string.len(sText) > 0 then
if
flag == SCFIND_WHOLEWORD then
print('> Поиск текущего слова: "'..sText..'"')
else
print('> Поиск выделенного текста: "'..sText..'"')
end
local
s,e = editor:findtext(sText,flag,1)
local count = 0
if(s~=nil)then
local
m = editor:LineFromPosition(s) - 1
while s do
local
l = editor:LineFromPosition(s)
EditorMarkText(s, e-s, current_mark_style)
count = count + 1
if l ~= m then
local
str = string.gsub(' '..editor:GetLine(l),'%s+',' ')
print(props['FileNameExt']..':'..(l + 1)..':\t'..str)
m = l
end
s,e = editor:findtext(sText,flag,e+1)
end
print('> Найдено: '..count..' вхождений\nДвойной щелчок на строке с результатом установит курсор на оригинальную строку')
else
print('> Вхождений ['..sText..'] не найдено!')
end
current_mark_style = current_mark_style + 1
if current_mark_style > 31 then current_mark_style = 27 end
props["current_mark_style"] = current_mark_style
-- editor:FindText(flag, sText)
-- scite.MenuCommand(IDM_FINDNEXT)
-- editor:SearchNext(flag, sText)
else
EditorClearMarks(0, editor.Length)
props["current_mark_style"] = 27
print('> Сначала выделите в редакторе текст, который необходимо найти! (поиск текста)\n> Можно просто установить курсор на нужное слово (поиск слова)\n> Так же можно выделить текст в окне консоли')
end
--~ editor:CharRight() editor:CharLeft() --Снимает выделение с исходного текста

--[[

local _start,_end

function FindNext()
local current_mark_style = scite.SendEditor(SCI_GETINDICATORCURRENT)
local cur_pos = editor.CurrentPos
while true do
if scite.SendEditor(SCI_INDICATORVALUEAT, current_mark_style, cur_pos)== 1 then
_start = scite.SendEditor(SCI_INDICATORSTART, current_mark_style, cur_pos)
else
_start = scite.SendEditor(SCI_INDICATOREND, current_mark_style, cur_pos)
end
_end = scite.SendEditor(SCI_INDICATOREND, current_mark_style, _start)
if _start ~= _end then editor:SetSel(_start,_end) break end
editor:GotoPos(0)
end
end
Автор: mozers
Дата сообщения: 19.04.2008 14:53
Часто приходится постить ссылки на какой нить файл, лежащий на SVN.
Маленько автоматизировал это дело - открываю в SciTE любой файл из моего каталога SciTE или из локальной копии каталога SVN и выбираю в контекстном меню вкладки пункт "Копировать в буфер обмена путь к этому файлу в SVN".
[more]copy_path_as_svn.lua :
Код: local path = props["FilePath"]
local text, i = string.gsub(path,"G:\\SciTE\\_SVN","")
if i ~= 0 then
text = "http://scite-ru.googlecode.com/svn"..string.gsub(text,"\\","/")
else
text, i = string.gsub(path,props["SciteDefaultHome"],"")
if i ~= 0 then
text = "http://scite-ru.googlecode.com/svn/trunk/pack"..string.gsub(text,"\\","/")
else
text = path
end
end
editor:CopyText(text)
Автор: Midas
Дата сообщения: 23.05.2008 13:05
Зарегистрируйте, пожалуйста, меня на scite-ru.googlecode.com
UserName: mr.King.Midas
Автор: mozers
Дата сообщения: 23.05.2008 18:17
Midas
Готово. (UserName@gmail.com)
Автор: Midas
Дата сообщения: 24.05.2008 07:59
mozers
Спасибо, но Я имел ввиду имя пользователя "mr.King.Midas"
Извиняюсь, Дошло до меня...
Автор: mozers
Дата сообщения: 24.05.2008 09:19
Midas
Пошаговая инструкция (в шапке) пункт 3.2
Автор: mozers
Дата сообщения: 26.05.2008 20:51
Midas
Цитата:
Author: mr.King.Midas@gmail.com
Date: Mon May 26 08:48:19 2008
New Revision: 584
Log:
-fix: Лексер Euphoria не работал
Ура! Наконец то мы дождались безвременно пропавшего автора этого лексера
Очень бы хотелось чтобы этот код наконец то был оформлен соотвествующим образом, с точным соблюдением структуры проекта.
Т.е. необходимо внести все нужные коррективы во все нужные файлы, а не так как это сделано сейчас ("компилится - и х. с ним").
Ребята, давайте оформлять свои идеи культурно!
Автор: Midas
Дата сообщения: 27.05.2008 07:41
Всем
Кому-нибудь, кроме меня, вообще нужна подсветка для языка Euphoria?
И нужен ли лексер для языка AutoHotkey?

mozers

Цитата:
Ребята, давайте оформлять свои идеи культурно!

Хм, а где можно почитать, как это делать?

Разработчикам
Почему вы отошли от оригинальной идеи генерации части файлов SciTE посредством питоновских скриптов ? С ними добавление нового лексера в SciTE заключается в:
1) Скопировать Lex<?>.cxx в "scintilla\src\"
2) Прописать переменные в "Scintilla.iface"
3) Запустить LexGen.py, HFacer.py, IFaceTableGen.py
4) Все! Скрипты обновят исх. коды Scintilla и SciTE автоматом
Сейчас же, после этих действий теряется часть объявлений констант, и хотя SciTE собирается, но бОльшая часть скриптов не работает
В результате приходится делать лишнюю работу...

Автор: mozers
Дата сообщения: 27.05.2008 10:22
Midas
Цитата:
Кому-нибудь, кроме меня, вообще нужна подсветка для языка Euphoria?
Язык достаточно экзотический...
По мне, так все определяет реализация лексера. Если он - функционален, с аккуратно оформленным кодом, снабженным подробными комментариями, с корректным и отлаженным файлом .properties, то даже при его минимальной востребованности он может послужить образцом для других.

Цитата:
И нужен ли лексер для языка AutoHotkey?
А существующие лексеры (au3, forth, nncrontab) не катят? Имхо если это нужно тебе, то наверное может потребоваться и другому.

Цитата:
Хм, а где можно почитать, как это делать?
Я думаю что и без всякого чтения было ясно видно что твой лексер выпадал из общей системы. Все понятно - просто ты не хотел заморачиваться - сделал как попростче. В результате я правил euphoria.properties, т.к. ты туда додумался насовать глобальных переменных (Revision: 179), BioInfo исправлял местоположение исходников (Revision: 447), и т.д....

Цитата:
Почему вы отошли от оригинальной идеи генерации части файлов SciTE посредством питоновских скриптов?
Никто не отходил. Просто к ней и не подходили
Не нашелся еще человек, который бы научил нас как по простому, в минимальном варианте поставить Питон и как его пользовать в целях автоматизации процесса.
Автор: Midas
Дата сообщения: 27.05.2008 13:22

Цитата:
Язык достаточно экзотический...

Уже и Я его не использую... Поэтому Я и спросил нужен ли он кому-нибудь...

Цитата:
твой лексер
Не мой Автор - некто M Duffy.

Цитата:
сделал как попростче
- Извиняюсь.


Цитата:
А существующие лексеры (au3, forth, nncrontab) не катят?
Не очень...
Есть проект SciTE4AutoHotkey и там используется Модифиц. SciTE (с исходниками). Так вот взять LexAHK1.cxx и изменения в Scintilla.iface и вставить в сборку по-простому нельзя (по причинам описанным в пред. посте). А с этим лексером на порядок удобнее работать с AHK-скриптами.


Цитата:
в минимальном варианте поставить Питон

Ну это можно Я могу завтра выложить где-нибудь архив (1.2 mb) с минимальнейшей конф. Питона, к-я выполняет скрипты из исходников Scintilla и SciTE.

Автор: frs
Дата сообщения: 27.05.2008 13:37

Цитата:
И нужен ли лексер для языка AutoHotkey?

я пользуюсь ahk.properties на базе лексера au3
Автор: mozers
Дата сообщения: 27.05.2008 20:48
Midas
Цитата:
А с этим лексером на порядок удобнее работать с AHK-скриптами
Ну если в нем есть что то такое что нельзя сделать с помощью лексера au3 и соотвествующих настроек, то флаг Вам в руки

Цитата:
Я могу завтра выложить где-нибудь архив (1.2 mb) с минимальнейшей конф. Питона
Ну всетаки это не 10Мб оригинального дистрибутива. Это и попробовать можно
Хотя, если б я понимал до конца что эти скрипты делают, то проще бы их переписать на JS или VBS...
Автор: vladvro
Дата сообщения: 28.05.2008 12:03
Midas
mozers

Цитата:

Цитата: Я могу завтра выложить где-нибудь архив (1.2 mb) с минимальнейшей конф. Питона

Ну всетаки это не 10Мб оригинального дистрибутива. Это и попробовать можно
Хотя, если б я понимал до конца что эти скрипты делают, то проще бы их переписать на JS или VBS...
Автор: Midas
Дата сообщения: 28.05.2008 16:31
Необходимый минимум miniPy25(1.2.mb) для выполнения Питоновских скриптов из дистрибутива SciTE.
Установка:
1) По-простому: распаковать на C:\ и добавить в реестр "c:\MiniPy25\Install.reg". Все!
2) Сложнее: Распаковать куда угодно, но менять пути в "Install.reg"
Скрипты будут запускаться 2 кликом

[more=Что делает каждый скрипт]
1) LexGen.py - Regenerate the Scintilla and SciTE source files that list all the lexers and all the properties files. Most files are regenerated in place with templates stored in comments. The VS .NET project file is generated into a different file as the VS .NET environment will not retain comments when modifying the file. The files are copied to a string apart from sections between a ++Autogenerated comment and a --Autogenerated comment which is generated by the CopyWithInsertion function. After the whole string is instantiated, it is compared with the target file and if different the file is rewritten. Does not regenerate the Visual C++ 6 project files but does the VS .NET project file.

2) HFacer.py - regenerate the Scintilla.h and SciLexer.h files from the Scintilla.iface interface definition file.

3) IFaceTableGen.py - regenerate the IFaceTable.cxx from the Scintilla.iface interface definition file. Based on Scintilla's HFacer.py. The header files are copied to a temporary file apart from the section between a //++Autogenerated comment and a //--Autogenerated comment which is generated by the printHFile and printLexHFile functions. After the temporary file is created, it is copied back to the original file name.

и т.д. - в каждом скрипте есть комментарий что он делает
[/more]
Автор: vladvro
Дата сообщения: 29.05.2008 17:35
Midas
поправил Scintilla.iface (ревизия 594), не так уж и много требовалось исправить - не было пары констант для BATCH лексера (я забыл, каюсь) и требовалось поправить для GetLexerLanguage, остальное не критично.
вобщем можешь добавлять новый лексер и пользовать скрипты.
Автор: Sumato
Дата сообщения: 05.06.2008 21:45
У меня такой вопрос -- погуглил, но чего-то без толку. По ходу, я самый тупой, раз я один не догоняю: а отчего лексеры не парсят комментарии (TODO, там, FIXME, BUG, XXX всякие не ищут)? Не, я про ToDo.lua в курсе. Просто интересно.
Автор: vladvro
Дата сообщения: 06.06.2008 15:26
Sumato

Цитата:
У меня такой вопрос -- погуглил, но чего-то без толку. По ходу, я самый тупой, раз я один не догоняю: а отчего лексеры не парсят комментарии (TODO, там, FIXME, BUG, XXX всякие не ищут)? Не, я про ToDo.lua в курсе. Просто интересно.

Я полагаю, что никаких специальных противопоказаний не было (за исключением лексера для HTML файлов), просто не сделано.
Автор: Exelente
Дата сообщения: 24.06.2008 13:21
Приветствую, уважаемые!

Искал замену FAR'у, потому как он не поддерживает юникод (в частности, utf-8). Нашёл SciTE. Всё отлично, за исключением поддержки koi8. После каждого открытия файла лезть в меню, чтобы перекодировать в cp1251, а перед закрытием руками конвертировать обратно - это не вариант.

В FAR'е есть четыре полезные фишки:
1) Он позволяет редактировать файлы в тех кодировках, для которых есть таблицы, на лету - просто перекодирует кусок текста при выводе на экран (и при наборе текста).
2) Запоминает для каждого редактированного файла кодировку, в которой редактировали, чтобы при повторном открытии пользователю не нужно было бы каждый раз заново её менять.
3) Кодировку можно быстро и удобно выбрать из меню, нажав Alt-F8, а не залезая мышью в пункт меню третьего уровня вложенности.
4) Самое вкусное - автоопределение кодировки по частоте символов. Для каждой кодировки есть таблица с указанием частоты встречаемости символов. Ложных срабатываний практически нет (только на очень коротких файлах из пары слов и на неспецифических текстов, например, состоящих только из заглавных букв).

В общем, это удобно, когда пользователю не нужно задумываться, в какой кодировке файл - просто открыл и редактирует. Если это реализовать в SciTE, он станет идеальным текстовым редактором. Это возможно?
Автор: mozers
Дата сообщения: 24.06.2008 18:42
Exelente
Аналогичное Issue опубликовано почти год назад.
За это время никто не взялся за его реализацию.
Видимо никому из разработчиков оно не показалось интересным
Автор: Exelente
Дата сообщения: 24.06.2008 19:02
Если не писать, то точно никому интересным не покажется. Самое забавное, что в SciTE для линукса, насколько мне известно, с koi8 всё в порядке, но нет поддержви cp1251. Хотелось бы иметь кроссплатформенный редактор, в котором можно править что угодно.
Автор: mozers
Дата сообщения: 24.06.2008 19:21
Exelente
Цитата:
Если не писать, то точно никому интересным не покажется
Полностью согласен. Чем чаще этот вопрос поднимать, тем больше вероятность что кто то решится на реализацию.

Цитата:
Самое забавное, что в SciTE для линукса, насколько мне известно, с koi8 всё в порядке, но нет поддержви cp1251.
Так же можно сделать и для Виндов (см. пример win1251 <-> dos-866). Тут только проблема в том, что тогда надо устанавливать в Винду дополнительный KOI-8 шрифт.
Автор: Sumato
Дата сообщения: 08.08.2008 22:46
Ребята (или господа, как вам больше нравится ), а вы не хотите добавить изменения с ориг. SciTE -- свежие? Попробовал у себя, куча конфликтов, конечно, была, но, вроде бы, всё заработало. Только для меня всё -- это несколько основных функций. Поэтому, нужно по-настоящему тестировать. А кто лучше вас эту сборку знает? Ведь мог где-нибудь при слиянии накосячить. И что-нибудь нужное, что есть в SciTE-Ru, потерять.
Автор: mozers
Дата сообщения: 08.08.2008 23:30
Sumato
Ты имеешь в виду тот вариант, что лежит на Нейловском SVN? А чего там действительно нового по сравнению с 1.76 релизом?
Сохранение позиции окна редактора? Так оно у нас давно уже работает (правда, очевидно, придется перестраиваться под Нейловский вариант).
А что еще ???
Всегда наши доработки с очередным релизом сливали. Имхо надо подождать релиза...

Имхо есть другие любопытные вещи на которые стоит обратить пристальное внимание (Я имею в виду новые lua библиотеки от Стива Донована - luacom.dll и gui.dll).
Возможности с их помощью открываются ОГРОМНЕЙШИЕ. Вот только глючат... Доработать бы...
Автор: Sumato
Дата сообщения: 09.08.2008 05:47
mozers
Знаю, что объединяете, но не догадался, что релиза ждёте. Подумал, начали потихоньку на это дело забивать.

Цитата:
А чего там действительно нового по сравнению с 1.76 релизом?

Да не в этом дело. Просто с моими переделками (кодировки) есть пересечения. Не люблю, когда почва из-под ног уходит. Ладно, тогда наоборот -- на варианте Нейла опробую (потренируюсь на кошках ), а уже после на русскую версию перескочу.
Автор: rank1
Дата сообщения: 14.08.2008 16:50
Реально спасибо за расширение количества стилей в VB)))
Автор: mozers
Дата сообщения: 16.08.2008 10:16
BioInfo & ALL
Помнится получился у нас жестокий облом с реализацией Issue 15 (это - про то, чтобы изображения кнопок тулбара можно было выбирать из внешнего файла. Сейчас то простые пользователи могут использовать только строго фиксированный набор с одним единственным дизайном).
Банально не смогли найти способ как это реализовать
Так вот сейчас, когда на свет появилась Доновановская gui.dll с методом toolbar, вполне можно взять код оттуда (исходники то - в свободном доступе!).
Эх, кто бы взялся только за то, чтобы корректно перенести...
Автор: mozers
Дата сообщения: 19.08.2008 13:40
Ура! Поздравляю BioInfo с рабочей реализацией давней идеи.
Все работает как надо
Библиотека значков gnome.dll стала подключаемой по-умолчанию.
Надеюсь, что теперь наши дизайнеры понаделают кучу привлекательных тулбаров...

Только давайте договоримся не менять очередность первых 31 кнопок - если вам влом рисовать какие то иконки лучше оставьте пустые места (а то пользователю придется под каждый набор заново команды в тулбаре переставлять).
Автор: alrusdi81
Дата сообщения: 25.08.2008 08:52
По поводу отсутствия возможности компиляции под gtk давайте решать потихоньку?
Первая ошибка. В Extender.h изменена функция

Код:
//! virtual bool OnKey(int, int) { return false; }
virtual bool OnKey(int, int, char) { return false; } //!-add-[OnKey]

Страницы: 1234567891011121314151617181920212223242526

Предыдущая тема: test


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