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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: YuriyVZ
Дата сообщения: 11.11.2008 15:23
Обнаружил, что длина файла *.properties не более 65К, точнее то что дальше игнорируется. Можно ли избавиться от этого ограничения?

Наткнулся на ограничение в связи с тем что нужно подсвечивать свои объекты, например "objесt1.prop1". Нужно подсветить либо objесt1, либо objесt1.prop1 целиком. Первоя не знаю, как сделать, а для второго и получается много файлов, т.к. количество объектов до тысячи и свойств около 20, итого 20 000 подсвечиваемых элементов.
Автор: vladvro
Дата сообщения: 11.11.2008 18:56
YuriyVZ

Цитата:
Обнаружил, что длина файла *.properties не более 65К, точнее то что дальше игнорируется. Можно ли избавиться от этого ограничения?

Для борьбы с этим ограничением используется команда import, которая позволяет разбить один файл на несколько.

Цитата:
Нужно подсветить либо objесt1, либо objесt1.prop1 целиком. Первоя не знаю, как сделать

Все зависит от языка, т.к. в редакторе используется целый ряд лексеров и каждый со своими особенностями.
Автор: mozers
Дата сообщения: 11.11.2008 22:09
VoidVolker
Цитата:
как указать SciTE, что нужно запускать скрипт/программу в нужной мне папке

Код: command.go.*.f=CMD /c CD /d D:\SP-Forth && spf4.exe $(FilePath)
Автор: VoidVolker
Дата сообщения: 12.11.2008 08:26
mozers не работает, выдает сообщение:

Цитата:
Error while launching:
"CMD /c CD /d D:\SP-Forth && spf4.exe" with Params:
"D:\test.f"
The specified file was not found.
Автор: YuriyVZ
Дата сообщения: 12.11.2008 09:11

Цитата:
Для борьбы с этим ограничением используется команда import, которая позволяет разбить один файл на несколько

Да, уже докапался. Интерестно, как вообще будет жить Scite с таким количеством ключевых слов.


Цитата:
Все зависит от языка, т.к. в редакторе используется целый ряд лексеров и каждый со своими особенностями.

Похоже для VBScript такой возможности нет (посвечивать только имя объекта).
Автор: mozers
Дата сообщения: 12.11.2008 09:15
VoidVolker
Проверяй пути. Все должно работать. Вот тестовый пример:
SciTEUser.properties [строка 87] :
Код: command.name.217.*=test CD & RUN
command.217.*=CMD /c CD /d "c:\Program Files" && test.cmd $(FilePath)
command.mode.217.*=subsystem:console
Автор: DJ makrus
Дата сообщения: 12.11.2008 09:21
VoidVolker
Цитата:
Может быть я смогу помочь?
Конечно сможешь, присоединяйся.
Цитата:
Я форт знаю хорошо и постоянно использую.
Я это знаю и помню
Правкой исходного кода лексеров Форт'а и nnCron'а занимается vladvro, поэтому со всеми пожеланиями к нему, и, наверное, лучше все-таки вот в этот топик, сначала доведем до ума лексер Форт'а (мы с него начали), а затем по мере возможнестей возьмемся за nnCron.
1. Составь список "кривизны" текущего лексера Форт'а из последней версии сборки, обязательно с примерами.
2. Еще и может быть не раз прочти документацию (которой не мало), по той причине что вполне возможно что-то из того что тебе не хватает в SciTE'е присутствует, но просто не настроено тобою соотвествующим образом и поэтому не работает. Обязательно разберись со всеми файлами настроек которые использует SciTE при своей работе.
Это так же поможет тебе понять сколько в нем полезных и удобных возможностей
Я со своей стороны, тоже доведу до ума свои пожелания и добавлю их к твоим, если их там не будет.
Цитата:
Документацию я читал, и не нашел там решения.
А почему ты решил использовать именно command.go? Мне в свое время Илья подсказал что более корректно использовать command.compile поскольку Форт именно комплилирует, хотя и может сразу же запускать на исполенние, поэтому я и сам использую и в ранее упомянутой инструкции применил следующую конструкцию:
Код: command.compile.$(file.patterns.forth)=$(forth.compile.path)\spf4.exe "$(FilePath)"
command.compile.subsystem.$(file.patterns.forth)=0
Автор: mozers
Дата сообщения: 12.11.2008 11:19
DJ makrus
Цитата:
А почему ты решил использовать именно command.go? Мне в свое время Илья подсказал что более корректно использовать command.compile
Все параметры command.compile|build|go|number работают абсолютно одинаково (только названием и отличаются).

VoidVolker
Еще один вариант (я им никогда не пользуюсь - считаю излишним, т.к. можно и без него - см. пример выше): Цитата:
Цитата:
Если исходные файлы в находятся не в том каталоге, где будет производиться сборка, то перед выполнением сборки необходимо указать в переменной command.build.directory путь к каталогу для сборки.


DJ makrus
Цитата:
как обойти/исправить появление ошибки "pure virtual function call" про которую я недавно писАл

Цитата:
Самую свежую версию еще не пробовал, но на 1.76.59

Цитата:
Составь список "кривизны" текущего лексера Форт'а из последней версии сборки
Пришли мне все свои настройки, отличные от последней версии сборки - бум поглядеть...
Автор: VoidVolker
Дата сообщения: 12.11.2008 12:07

Цитата:
Я это знаю и помню

Ааа, да-да-да, точно, то-то смотрю ник знакомый

Цитата:
А почему ты решил использовать именно command.go? Мне в свое время Илья подсказал что более корректно использовать command.compile поскольку Форт именно комплилирует, хотя и может сразу же запускать на исполенние

Потому что уведел в каком-то файле, что эта команда запускает программу и даже с параметрами. Вообще, мне просто неудобно по Ф5 запускать - я ей и не пользуюсь(хорошо бы все хоткеи вынести в отдельный файл), и сделал хоткей в ннкроне на Ф9 - запуск текущего файле в SciTE.

Цитата:
1. Составь список "кривизны" текущего лексера Форт'а из последней версии сборки, обязательно с примерами.

Хорошо, как будет время - сделаю.
Автор: kinz
Дата сообщения: 12.11.2008 12:55
vladvro

Цитата:
В текущей реализации лексера для euphoria в качестве символов ключевых словах воспринимаются только латинские символы - результат работы стандартной сишной функции isalpha. Красивого решения пока предложить не могу, в любом случае прийдется вносить исправления в код редактора, а значит первое что можно сделать - это добавить предложение о модернизации в этот список


Спасибо, vladvro, я так и сделал. Но, как известно, для спасения утопающих им самим
надо шевелиться. Я немного подправил существующий лексер euphoria, добавив условия проверки в диапазоне 128..255, а потом перекомпилировал всю систему ревизии 850 с VC, добавив компилятору опцию -J. Эта опция побуждает компилятор считать все char за unsigned char, оставляя signed char как есть. Так или иначе, но эта версия пока у меня работает на Windows XP SP3. Шероховатости есть, например, bold не bold, но за этим надо ещё понаблюдать, модифицируя файлы настройки.
Вот пакет с исполняемыми файлами и исходным кодом изменённых файлов
http://pl-euphoria.narod.ru/SciTE-RU-EU-25.7z
Автор: DJ makrus
Дата сообщения: 12.11.2008 13:52
mozers
Цитата:
Все параметры command.compile|build|go|number работают абсолютно одинаково...
я это знаю, под корректностью подразумевалась не практическая сторона (будет или не будет работать), а исключительно теоретическая и именно касательно Форт
Цитата:
Пришли мне все свои настройки, отличные от последней версии сборки - бум поглядеть...
Тут я не совсем понял:
1. Отличные от настроек которые идут в сборке (измененные, добавленные)?
2. От последней версии которая щас существует или на которой эта ошибка проявляется? Я щас на версии "1.76 .59Ru Aug 28 2008 03:16:30"
2.1 Или сначала перейти на последнюю, убедиться что ошибка осталась и тогда высылать (если осталась)?
3. Я правильно понял что вы не можете воспроизвести эту ошибку? Т.е. вы добавляете в файл настроек строку
Код: save.settings.path=
Автор: vladvro
Дата сообщения: 12.11.2008 14:02
kinz

Цитата:
я так и сделал

Ага, видел заявку, составлена отлично, было приятно почитать

Цитата:
Но, как известно, для спасения утопающих им самим надо шевелиться.

Увы, да

Цитата:
добавив компилятору опцию -J

Компромисное решение, в сборку такое увы не пойдет.
Если решишь доработать решение, то обязательно добавим в сборку.

Добавлено:
VoidVolker, DJ makrus

Цитата:

Цитата: Вообще, мне просто неудобно по Ф5 запускать - я ей и не пользуюсь(хорошо бы все хоткеи вынести в отдельный файл), и сделал хоткей в ннкроне на Ф9 - запуск текущего файле в SciTE.
Можно было еще посылать SciTE'у F5 по нажатию F9
Автор: VoidVolker
Дата сообщения: 12.11.2008 16:52
DJ makrus

Цитата:
текущий файл по заголовку окна определяешь?

Да.

Цитата:
Можно было еще посылать SciTE'у F5 по нажатию F9

Так ведь надо было в обход сделать
vladvro

Цитата:
В скайте любой хоткей настраивается через user.shortcuts, например для этой команды надо добавить строчку
F9|IDM_GO|

Ага! То что надо - спасибо, так и сделаю

Автор: karantir
Дата сообщения: 12.11.2008 17:30
Привет.
Есть ли где настрока, задающая цвет горизонтальной линии, повляющейся под свернутым блоком? У меня она выглядит слишком ярко и если код полностью свернут начинает рябить в глазах.
Автор: kinz
Дата сообщения: 12.11.2008 19:55
vladvro

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


Да я тут, так сказать, проездом, вряд ли я что-либо ещё доработаю,
извините, но есть неотложные дела. А для других русскоязычных
систем было бы, конечно, полезно перейти на unsigned char по
умолчанию повсеместно.
Автор: mozers
Дата сообщения: 13.11.2008 07:26
DJ makrus

Цитата:
1. Отличные от настроек которые идут в сборке (измененные, добавленные)?
Да.

Цитата:
2. От последней версии которая щас существует?
Да

Цитата:
2.1 Или сначала перейти на последнюю
Да

Цитата:
3. Я правильно понял что вы не можете воспроизвести эту ошибку? Т.е. вы добавляете в файл настроек строку
Код:save.settings.path=
Эта ошибка - только у тебя. В новой сборке этот параметр save.settings.path вообще не используется.
Автор: DJ makrus
Дата сообщения: 13.11.2008 07:54
karantir
Цитата:
Есть ли где настрока, задающая цвет горизонтальной линии, повляющейся под свернутым блоком?
См. параметр fold.highlight.colour=#0099FF в файле глобальных настроек.

mozers
Цитата:
Эта ошибка - только у тебя. В новой сборке этот параметр save.settings.path вообще не используется.
Ок, перейду отчитаюсь, замечу только что ошибка стала появляться не в новой сборке на которую буду только переходить, и если этот параметр сделать не пустым, то ошибка не появляется...
Но вам виднее, конечно
Отдельное спасибо за CIViewer - очень удобная штука
Автор: vladvro
Дата сообщения: 13.11.2008 14:59
DJ makrus

Цитата:

Цитата: Есть ли где настрока, задающая цвет горизонтальной линии, повляющейся под свернутым блоком?
См. параметр fold.highlight.colour=#0099FF в файле глобальных настроек.
Автор: DJ makrus
Дата сообщения: 13.11.2008 16:32
vladvro
Цитата:
Увы не верно, этот параметр задает цвет подсветки текущего блока свертки (там где стоит курсор).
А для цвета горизонтальной линии я не припомню параметра.
Ну да, эта линия и яркая, а остальные-то черные , я это не менял, поэтому у меня так же, как идет по умолчанию в сборке...
Или в новой сборке эти линии стали яркими?
Автор: VoidVolker
Дата сообщения: 13.11.2008 18:26
DJ makrus

Цитата:
А почему ты решил использовать именно command.go? Мне в свое время Илья подсказал что более корректно использовать command.compile поскольку Форт именно комплилирует, хотя и может сразу же запускать на исполенние

Вообще, в исходнике обычно идет сначала создание проблемно-ориентированного языка - по сути определение новых слов, или этап компиляции. А уже потом идет выполнение программы - так что это зависит от того, под каким углом на это смотреть. Я смотрю на это очень просто - как на запуск программы с параметрами командной строки. А что там потом происходит - SciTE уже не касается. Так же использую несколько разных фортов.
Автор: DJ makrus
Дата сообщения: 14.11.2008 13:41
mozers
Цитата:
Эта ошибка - только у тебя. В новой сборке этот параметр save.settings.path вообще не используется.
Да, действительно, закрывается без ошибок и этот параметр не работает. Как я понял положение окна сохраняется в файл сессии, т.е. теперь нет возможности сохранить настройки в конкретный файл, кроме как вручную скопировать их из файла сессии и вставить в файл импортируемый при запуске?

Но и после перехода на последнюю версию все равно остался следующий неприятный момент:
1. Запускаю SciTE со всеми настройками по умолчанию (специально распаковал в отдельную папку)
2. Из меню открываю nncrontab.properties только для того что бы строку:
autocomplete.nncrontab.start.characters=.
заменить на
autocomplete.nncrontab.start.characters=$(word.characters.nncrontab)
можно заменить "(word.characters.nncrontab)" и на символ "n" в данном случае результат будет тот же...
3. Открываю пустой Test.tab
4. Набираю в нем Min в подсказке висит три варианта завершения слова, выбрав любой из них я получаю в середине слова удвоенное "n".
Это "неправильное" всплывающее окошко с подсказками появляется после ввода третьего и последующих символов, и не обязательно "n".
Автор: mozers
Дата сообщения: 15.11.2008 12:35
DJ makrus
Цитата:
Как я понял положение окна сохраняется в файл сессии,
Да. Такой механизм используется теперь и в официальной версии.

Цитата:
т.е. теперь нет возможности сохранить настройки в конкретный файл
А зачем это надо? Помимо параметров окна в SciTE.session сохраняется еще много чего. В SciTE-Ru (с помощью save_settings.lua) сохраняются практически все параметры отображения. Сейчас в отдельных файлах сохраняется список фаворитов, кнопки HTML_toolbar и др.
Параметр scite.userhome определяет каталог где все это личное добро будет хранится.

Цитата:
после перехода на последнюю версию все равно остался следующий неприятный момент
Это - результат работы скрипта AutocompleteObject.lua. Ты можешь его отключить nncrontab.properties [строка 138] :
Код: # Подключение AutocompleteObject.lua:
# Ввод разделителя, заданного в autocomplete.[lexer].start.characters вызывает список свойств и медодов объекта из заданного api файла
api.nncrontab=$(SciteDefaultHome)\api\nncron.api
Автор: juvaforza
Дата сообщения: 15.11.2008 16:31
Ребят, потвердите пожалуйста проблемы с поиском в UTF-8 кодировке.

сборка по запросу "в" находит

Цитата:
гравитация на Венере gravity on Venus

вместо

Цитата:
гравитация на Венере gravity on Venus

оригинальная версия находит

Цитата:
гравитация на Венере gravity on Venus

по запросу "v" и сборка, и оригинальная версия все делают правильно

Цитата:
гравитация на Венере gravity on Venus
Автор: Zloy_Gelud
Дата сообщения: 15.11.2008 17:09
juvaforza -- подтверждаю.
Автор: qweasdzxc2
Дата сообщения: 15.11.2008 18:42
Проблема с кодировками


SciTE, WinXP.
[code=python]# -*- coding: utf-8 -*-
print u'Привет, Мир!'[/code]
[code=python]# -*- coding: cp1251 -*-
print unicode('Привет, Мир!', 'cp1251')[/code]
В обоих случаях при запуске из-под SciTE (F5) получается следующее:


UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)

Вне SciTE всё работает правильно. Как побороть SciTE?

Автор: mozers
Дата сообщения: 15.11.2008 19:22
juvaforza Zloy_Gelud
Мне кажется что эта проблема и проблема, изложенная в Issue 118 - одного поля ягоды.
Вот только решения пока никто не нашел

qweasdzxc2
Код: # -*- coding: cp1251 -*-
print unicode('Привет, Мир!', 'cp1251')
Автор: SotM
Дата сообщения: 17.11.2008 15:28
Решил я редактировать скрипты Inno setup (*.iss) в Scite 1.76 .57Ru, но он почему-то не "определяет" что это за файл и соответственно не раскрашивает его. Мне приходится в меню Language выбирать Pascal, хотя конечно это не совсем то. Что и где нужно подправить чтобы Scite нормально работал с (*.iss) файлами?
Автор: DJ makrus
Дата сообщения: 17.11.2008 15:32
mozers
Цитата:
А зачем это надо?
что бы можно было принести с работы файл сессии, открыть дома и редактор открылся с размером и положением какие мне удобны дома, а не в рабочем варианте, IMHO, отдельный файл настроек удобнее в данном случае, ранее я уже в общих чертах обрисовал как можно было бы это решить:
09:43 27-10-2008
Цитата:
Выше я описал решение этой проблемы средствами пользователя, а вот со стороны разработчика оно мне видится следующим:
- ввести возможность разбиения сохраняемых настроек на две группы: "глобальные" и "локальные";
- и для каждой группы указать файл в котором ее надо сохранять.

с учетом последней информации могу дополнить: "глобальные" сохраняем в файл сессии, а "локальные" в специальный файл как и раньше.
Цитата:
Строку ... лучше закомментировать, поскольку AutocompleteObject.lua с nncron.api работать не будет, т.к. последний написан некорректно.
Можно, конечно, и отключить, но с ним удобнее..., было.... По поводу некорректности, могу заметить, что до того как AutocompleteObject.lua вырос в два раза все работало и с некорректным nncron.api, я вовсе не хочу сказать что его сделали хуже, нет, наверняка он стал лучше и ... менее универсальным
Цитата:
Если есть желание заставить SciTE объекты nnCron автоматически дополнять их свойствами и методами, то составляйте правильный nncron.api. Пример для подражания - ActiveX.api.
Желание, есть, но во-первых, я имею отдаленное понятие про свойства и методы как и nnCron/Форт, во-вторых, не понял что неправильного в nncron.api и правильного в ActiveX.api:
1.есть правильный список:
WScript.Arguments
WScript.ConnectObject
WScript.CreateObject
и неправильный:
MonitorResponseTime
MonLength
Months
если я задаю в настройках autocomplete.nncrontab.start.characters=n почему "n" при выборе из списка удваивается, а точка нет?
2.Как приведенный неправильный список должен выглядеть что бы соответствовать "[Объект][Символ разделителя][Метод]"
3.
Цитата:
Формат записи синонимов (без них список методов будет открываться ТОЛЬКО при точном соответствии имени объекта с записью в этом файле)
В чем смысл этих синонимов не понял пробовал на WScript. и на WshShell. - одинаково приходилось набирать: полностью объект, затем разделитель, затем выбираешь из списка метод..., единственная разница, при наборе синонима появилась подсказка аббревиатуры.
Пока вроде все, потом скорее всего будет вопрос по подсказкам, но сначала мне надо увидеть пример приведения списка слов в правильный формат.
Автор: vladvro
Дата сообщения: 17.11.2008 20:03
SotM

Цитата:
Что и где нужно подправить чтобы Scite нормально работал с (*.iss) файлами?

Простой вариант:
Открыть файл глобальных настроек (меню Настройки) и снять закомментированность с двух строк:SciTEGlobal.properties [строка 1513] :
Код: &InnoSetup|iss||\
Автор: SotM
Дата сообщения: 18.11.2008 10:21
vladvro
ЭЭэээ, в моей версии на строках 1513 совсем не то написано, и весь конфиг заканчивается 1535-ю строками.

После добавления
Цитата:
import ..\languages\inno
menu.language=\
Text|txt|Shift+F11|\
#~ Ada|ads|
...

В "User Options File" меню Languages теперь вообще не выпадает, т.е. ничего не появляется при нажатии на него.

Хотя щас посмотрел "SciTEGlobal.properties" и там есть упоминание об Inno Setup (даже он должен быть в меню Languages), но видать каким-то образом это всё не используется самим редактором.

Еще добавление:
Скачал новую версию (1.77). Поставил его. Заново проделал выше упомянутые изменения и всё заработало.
Только надо написать:
import languages\inno

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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