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

» SciTE Ru-Board Edition

Автор: TymurGubayev
Дата сообщения: 13.12.2010 22:20
ин майн хамбл опинион:

обратная совместимость (т.е. совместимость с оригиналом) - это, конечно, хорошо. Но не надо доводить до абсурда.
Абсурдом, на мой взгляд, является ЛЮБОЕ различие в поведении вставки аббревиатур. С какого бодуна они есть в оригинале для меня загадка за семью печатями.

Читая описание (практически вчера узнал, что кроме Ctrl+B есть ещё Sctrl+Shift+R), т.е. вот это: http://scite-ru.googlecode.com/svn-history/r1667/trunk/pack/doc/SciTEDoc_rus.html#abbrev я бы ни в жизнь не догадался, что поведение абрбевиатур отличается, да ещё так сильно. С какой стати?! Есть всем понятная задача: вставка аббревиатуры. Есть три всем понятных способа это сделать: Ctrl+B вставляет "первый попавшийся" вариант, Ctrl+Shift+R позволяет выбрать вариант, scite.InsertAbbreviation позволяет вставить из скрипта. И действовать они ДОЛЖНЫ одинаково. ВСЁ. Никаких дополнительных сущностей, никакого маразма, никаких чудес вроде abbrev.preserve.selection. У всех пользователей всегда всё работает, и работает одинаково.

(Кстати, возможность для аббревиатуры "содержать пробелы внутри", как заявлено для оригинала, у нас сильно ограничена, так что полной совместимости, видимо, уже не выйдет.)
Автор: neo_max
Дата сообщения: 13.12.2010 22:45
Я мало работаю с аббревиатурами, поэтому считаю что мое мнение будет не столь объективным, но все же...

Я считаю, что далеко от поведения оригинального редактора уходить не стоит, понимаю что полной совместимости оставить не получится, но нужно хотя бы снизить к минимуму разницу в поведении одних и тех же функций SciTE и SciTE-Ru.
Автор: mozers
Дата сообщения: 13.12.2010 23:20
TymurGubayev neo_max
Полностью с вами согласен.
Итак, что мы хотим получить в scite-ru мы все прекрасно представляем - разногласий тут нет.
Вопрос: Как все это получить с минимальными изменениями кода?
А так:
1. Оставить код Ctrtl+B и Ctrl+Shift+R без изменений (как в оригинале).
2. Поручить обработку этих шорткатов скрипту, который будет использовать нашу функцию scite.InsertAbbreviation в которой мы можем реализовать любые наши задумки с переменными и пр.
Все

Автор: noisy
Дата сообщения: 14.12.2010 11:26

Цитата:
SciTE-Ru.2.23.Rev1667.rar


Ошибка при выделении слова (двойной клик по слову) при работе с PHP.
Не выделяет $
хотя прописано
word.characters.$(file.patterns.php)=$(chars.alpha)$(chars.numeric)$(chars.accented)_-$

прописываю $ в строке
word.characters.$(file.patterns.html)=$(chars.alpha)$(chars.numeric)$(chars.accented)_-$
все работает.

Автор: noisy
Дата сообщения: 15.12.2010 13:00
Еще вопросик

Можно ли панель поиска и замены настройками вернуть в виде окна а не панели?

Автор: ALeXkRU
Дата сообщения: 15.12.2010 13:13
noisy
в файле глобальных настроек:

Код: [Find and Replace] Поиск и замена
...
# Если 1, то вместо диалогового окна поиска используется панель
find.use.strip=1
# Если 1, то вместо диалогового окна замены используется панель
replace.use.strip=1
Автор: mozers
Дата сообщения: 16.12.2010 14:49
noisy
Ага, поправим. Там буковка l - лишняя (пометил)...html.properties [line 237] :
Код: word.characters.$(file.patterns.html)=$(chars.alpha)$(chars.numeric)$(chars.accented)_-
Автор: TymurGubayev
Дата сообщения: 16.12.2010 17:23
mozers
сейчас проверить не могу, но насколько я помню, все функции работают как надо, и более того, как указано в документации.
Принадлежность же части из них к pane, а части - к scite, вполне логичка: первые используют текущую кодировку панели, а для вторых кодировку нужно (или можно - надо проверить) задавать.

См. также r1662 и r1659
Автор: mozers
Дата сообщения: 16.12.2010 17:42
TymurGubayev
Цитата:
все функции работают как надо, и более того, как указано в документации
Пару слов в комментах к коммиту ты называешь "документацией"

Цитата:
Принадлежность же части из них к pane, а части - к scite, вполне логичка: первые используют текущую кодировку панели, а для вторых кодировку нужно (или можно - надо проверить)
Что есть "первые"? Что есть "вторые" ?
Я вижу, например, ConvertFromUTF8 который вдруг стал и "первым" и "вторым" одновременно.
Вообще подобная "логика" поведения относится к какому то другому редактору, а не к SciTE. В SciTE деление идет на ф-ции Scintilla и ф-ции Scite.
Автор: TymurGubayev
Дата сообщения: 16.12.2010 17:57
mozers

Цитата:
Пару слов в комментах к коммиту ты называешь "документацией"


документацией я ничего не называл, лишь указал ссылки, пройдя по которым можно взглянуть на изменения, сделанные в файле SciTELua.api. Например, там есть такие строки:


Код:
scite.ConvertFromUTF8
scite.ConvertToUTF8
scite.UTF8ToUpper
scite.UTF8ToLower

ConvertFromUTF8(utf8str, codePage) = str\nconverts string from UTF-8 in codePage\n{rus} конвертирует переданную строку из UTF-8 в кодировку codePage\ncodePage ∈ {\n "ascii", "utf-8", 65001,\n"windows-1251", "cyrillic", 1251,\n "latin1", 1252, "latin2", 28592,\n "big5", 950, "gbk", 936, "shift_jis", 932, "euc-kr", 949,\n "iso-8859-5", 28595, "iso8859-11", 874, "1250", 1250,\n... }
ConvertToUTF8(str, codePage) = utf8str\nconverts string from codePage in UTF-8\n{rus} конвертирует переданную строку из кодировки codePage в UTF-8\ncodePage ∈ {\n "ascii", "utf-8", 65001,\n"windows-1251", "cyrillic", 1251,\n "latin1", 1252, "latin2", 28592,\n "big5", 950, "gbk", 936, "shift_jis", 932, "euc-kr", 949,\n "iso-8859-5", 28595, "iso8859-11", 874, "1250", 1250,\n... }
UTF8ToUpper(str)
UTF8ToLower(str)

editor:ConvertFromUTF8
editor:ConvertToUTF8

ConvertFromUTF8(string utf8text) = text\nconverts string from UTF-8 in current pane's codepage\n{rus} конвертирует переданную строку из UTF-8 в кодировку окна к которому применен метод
ConvertToUTF8(string text) = utf8text\nconverts string from current pane's codepage in UTF-8\n{rus} конвертирует переданную строку из кодировки активного окна к которому применен метод в UTF-8
Автор: neo_max
Дата сообщения: 17.12.2010 07:07
Функции вызываемые из [editor|output] принимают всего 1 аргумент! При этом codePage они берут из соответствующего pane (editor или output). ИМХО это очень удобно когда вы хотите передать, скажем в окно редактора, текст, при этом не заботясь о том, какая там кодировка. Или наоборот, считывая строки из окна вывода (output) и пропустив их через эти функции вы будете уверены что получите правильную UTF-8 строку не вдаваясь в подробности какая кодировка была в том окне и был ли включен режим DosMode.

Функции вызываемые из scite ТРЕБУЮТ второй параметр - codePage, который может указываться как в виде кода (число), так и в виде названия кодовой страницы (строка).

И в завершении UTF8ToUpper и UTF8ToLower вызываются только из scite, что имхо логично.

Определения:
string pane:ConvertFromUTF8(str)
utf8string pane:ConvertToUTF8(str)

string scite.ConvertFromUTF8(str, codePage)
utf8string scite.ConvertToUTF8(str, codePage)
utf8string scite.UTF8ToUpper(str)
utf8string scite.UTF8ToLower(str)
Автор: data man
Дата сообщения: 31.12.2010 02:40
Всех с наступающим Новым Годом!

Есть такой вопрос - как сделать так, чтобы SciTE использовал внешнюю lua5.1.dll ?
А то очень хочется попробовать LuaJIT
Или скорость выполнения скриптов, для текстового редактора, не так уж и важна ?
Автор: mozers
Дата сообщения: 31.12.2010 13:39
data man
Насколько я понимаю, любая внешняя либа, специально не адаптированная для SciTE, всегда будет использовать внешнюю lua5.1.dll.
Все библиотеки, использованные в сборке SciTE-Ru, такую адаптацию прошли.

Автор: UR4LTZ
Дата сообщения: 03.01.2011 16:14
Всех с Новым Годом!



mozers

Цитата:
Насколько я понимаю, любая внешняя либа, специально не адаптированная для SciTE, всегда будет использовать внешнюю lua5.1.dll.
Все библиотеки, использованные в сборке SciTE-Ru, такую адаптацию прошли.

Здесь речь идет не о отдельно взятой библиотеке а про замену всего LUA движка в \trunk\src\scite\lua\*

data man
Я думал несколько раз на этим но все руки не доходят попробовать.

Цитата:
Или скорость выполнения скриптов, для текстового редактора, не так уж и важна ?

Скорость важна и даже очень!..
Автор: asdf8
Дата сообщения: 07.01.2011 15:35
Помогите пожалуйста настроить SciTE-Ru под язык программирования AutoIt, самому не получается осилить.
В документации заявлена поддержка AutoIt, но если открыть файл au3.properties, то в заголовке увидим - "May, 17 2004 ... for build 101 & beta 102", т.е. тому файлу буквально будет "семь лет в обед" - с тех пор много чего поменялось.
Суть проблемы:

1. подсветка синтаксиса - в общем настроил, но не совсем нормальным путем: адекватная подсветка получилась только после вынесения части ключевых слов во внешний файл (через import languages\au3.keywords.properties) и часть ключевых слов пришлось вставить в сам au3.properties. Если все ключевые слова вынести во внешний файл - перестает работать подсветка некоторых слов, если все ключевые слова оставить в au3.properties - то подсветка вообще перестает работать.

2. автодополнение функций и ключевых слов - здесь у меня полный мрак. В последней версии AutoIt более 2500 функций и ключевых слов, некоторые длинной более 40 знаков, все они не подпадают под шаблон [Объект][Символ разделителя][Метод] (или просто мне кажется, что не подпадают), а некоторые еще и начинаются с "#".
Поэтому ставлю :
autocomplete.au3.start.characters=$(chars.alpha)$(chars.numeric)$@_#
, ну, в общем здесь у меня ничего не получается. Последняя версия SciTE-Ru, в которой нормально работает автодополнение - SciTE_201_71Ru_010110

3. calltip :
calltip.au3.parameters.start=(
calltip.au3.parameters.separators=,
так вроде работает, но как-то через раз, и, если убрать calltip, то потом его уже больше не увидишь, даже по Ctrl+Shift+Space
Хотелось бы настроить так чтобы calltip появлялся при вводе каждого нового параметра функции:
calltip.au3.parameters.start=(,
но при этом calltip перестает распознавать номера параметров - все время показывает, что вводится первый параметр.

4.не могу добиться отображения русских букв в консоли при поиске в файлах:
перепробовал все сочетания параметров output.code.page, output.code.page.oem2ansi, code.page.866.detect, utf8.auto.check - вместо русских букв выводится всякое-разное, кроме самих русских букв.
Автор: mozers
Дата сообщения: 08.01.2011 10:44
asdf8
Цитата:
в заголовке увидим - "May, 17 2004 ... for build 101 & beta 102", т.е. тому файлу буквально будет "семь лет в обед" - с тех пор много чего поменялось.
По-уму надо переписывать этот файл полностью (несоответсвий в нем - предостаточно).
Предлагаю тебе, как самому заинтересованному лицу, занятся этим.
Вначале правильно задай параметры keywords и style (полностью удалив все остальное) и выкладывай вместе с парой-тройкой тестовых au3-скриптов.
Проверим, отладим, потом пойдем дальше... (автодополнение, калтипы и пр.)
Через чат, возможно, быстрее получится...
Автор: asdf8
Дата сообщения: 08.01.2011 13:25

Цитата:
Вначале правильно задай параметры keywords и style (полностью удалив все остальное) и выкладывай вместе с парой-тройкой тестовых au3-скриптов.


Сделал
Автор: mozers
Дата сообщения: 09.01.2011 11:46
asdf8
Кроме keywords и style ты напихал столько всего, что проанализировать все стразу не представляется возможным. Может быть кто то еще займется?...
"AutoIt v3 Script Test Highlight.au3" работать не будет т.к. только самые тупые лексеры ищут лишь keword-ы и подсвечивают их. Большинство же, анализируют окружающий контекст и если, допустим, имя функции написано как строка, то лексер этот кейворд подсвечивать не будет (точнее - подсветит как обычную строку, а не как функцию).
А зачем закомментированы au3.keywords.sendkeys, au3.keywords.special ?
Они же заданы повторно в au3.keywords.properties. Файл, кстати - великоват
Цитата:
Only the first 60000 bytes of .properties files are read.
(с) Neil
В общем тут еще ковыряться и ковырятся надо...
Автор: asdf8
Дата сообщения: 09.01.2011 12:01

Цитата:
Only the first 60000 bytes of .properties files are read.
(с) Neil

понял в чем ошибка, и что делать, разбивать au3.keywords.properties на несколько файлов?
Автор: mozers
Дата сообщения: 09.01.2011 12:11
Вообще для AutoIt существует специализированная версия SciTE.
SciTE-Ru предназначен не только для AutoIt и всегда будет иметь меньше возможностей чем специализированный редактор.
А вот ребята из SciTEAutoIt вполне могли бы вместо оригинальной версии базировать свою сборку на SciTE-Ru.

Добавлено:
asdf8
Цитата:
разбивать au3.keywords.properties на несколько файлов?
Не обязательно. У тебя в других файлах места - полно. Перениси часть параметров в них - аккуратнее будет чем 100 пропертей.
Автор: asdf8
Дата сообщения: 09.01.2011 12:18

Цитата:
Вообще для AutoIt существует специализированная версия SciTE.

да, та специализированная версия основана на ядре 1.79, но сделана настолько качественно, что в обозримом будущем ее вряд-ли будут переделывать.
Автор: mozers
Дата сообщения: 09.01.2011 12:35
asdf8
Написал бы ты какой нить реальный (пусть - нерабочий) скриптик для тестирования.
Чтобы в нем встречались по паре-тройке кейвордов всех типов.
Автор: asdf8
Дата сообщения: 09.01.2011 12:46
Теперь, вроде все подсвечивается правильно Ссылка

Большая часть вопросов решилась сама собой, когда выяснилось две вещи:
1. после версии 1.79 SciTE не поддерживает файлы properties более 60000 байт (сразу удалось устранить все проблемы с подсветкой синтаксиса)
2. после версии 2.0.1 в SciTE появились глюки с поддержкой русских букв в пути к SciTE.exe (я его настраивал на рабочем столе - перенес в корень диска, сразу стали появляться автодополнения из api-файла и подсказки по параметрам функций)

Жаль, что об этих тонкостях нельзя узнать из справки.
Пересобрал все файлы настроек для AutoIt, добавил api-файл и аббревиатуры Ссылка

Осталось две проблемы:
1. подсказка по параметрам функций не подсвечивает параметры дальше второго
2. проблема с отображением русских букв в консоли при "поиске в файлах" и "поиске выделенного текста или текущего слова", причем это относится только к отображению имен файлов (слова для поиска отображаются корректно) и выглядит, как будто юникодовские символы вставили в документ с кодировкой 1251 (типа того: ./Новый.au3:10 )
Автор: UR4LTZ
Дата сообщения: 14.01.2011 14:46
asdf8

Цитата:
1. после версии 1.79 SciTE не поддерживает файлы properties более 60000 байт (сразу удалось устранить все проблемы с подсветкой синтаксиса)

Таблетка для решения этой проблемы есть и давно мной используется.
Автор: asdf8
Дата сообщения: 14.01.2011 15:24

Цитата:
Таблетка для решения этой проблемы есть и давно мной используется.

Хорошо.
Только поиск по запросу "Таблетка для решения этой проблемы" ничего не выдает
Автор: UR4LTZ
Дата сообщения: 14.01.2011 16:09
asdf8

Цитата:
Хорошо.
Только поиск по запросу "Таблетка для решения этой проблемы" ничего не выдает

Это видимо от того что кроме меня она некому не нужна..
Решается всего добавлением одного нуля. Взято у http://scitelatexide.googlecode.com/

Ревизия: 170
Автор: mathmhb
Дата: 11:33:18, 2 февраля 2010 г.
Сообщение: Increase propsData buffer size to allow larger properties file

PropSetFile.cxx [line 327] :
Код: if (rcfile) {
//!- char propsData[60000];
char propsData[600000];
int
lenFile = static_cast<int>(fread(propsData, 1, sizeof(propsData), rcfile));
Автор: asdf8
Дата сообщения: 14.01.2011 16:19
UR4LTZ, спасибо.
Подскажи пожалуйста куда это вставлять?
В сборке из шапки не нашел PropSetFile.cxx



Добавлено:
Кажется догнал - это исходники.
Автор: UR4LTZ
Дата сообщения: 14.01.2011 16:26
asdf8
Это нужно править исходный код редактора.
Автор: mozers
Дата сообщения: 14.01.2011 19:10
UR4LTZ asdf8
Вопрос о данном ограничении совсем недавно поднимался на офф-форуме.
Нейл посчитал что не стоит поднимать планку.
Надо ли это делать в SciTE-Ru? Не знаю. Надо обсудить...
Автор: asdf8
Дата сообщения: 14.01.2011 23:46
mozers

какое-то странное ограничение, с одной стороны - нельзя, потому-что нельзя, с другой стороны - все равно все подключится, если разбить на несколько файлов. Кроме проблем юзерам - какой толк?

Страницы: 1234567891011121314151617181920212223242526

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


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