сделать стартовой  |  добавить в избранное

   SciTE - редактор кода для программистов

Архив SciTE-форума


Автор: VoidVolker, Отправлено:21:41 22-11-2008
mozers

Цитата:
calltip.nncrontab.parameters.start=: (

Двоеточие является частью многих слов, а вот по пробелу... Хмм... пока оставлю, посмотрю не будет ли надоедать. Непонятно наличие открывающей скобки - все параметры передаются через стек, т.е. они перед словом идут А вообще, в скобках обычно комментарии. Так что имеет смысл оставить только один пробел как в forth.properties так и в nncrontab.properties.
Как назначить хоткей на копирование пути и/или имени файла?

Добавлено:
mozers

Цитата:
А если написать так:
Цитата:FILL (D, A, len)\n Заполнить область памяти с начальным адресом A и длиной len ячеек значением D.
То будет еще аккуратнее. И при
Цитата:calltip.nncrontab.parameters.separators=,
при вводе параметров D, A, len подсветка в подсказке будет смещатся, подсказывая какой из 3х параметров ты вводишь.

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

Код:
32 Массив 345 FILL

или так:

Код:
ляля тополя FILL

т.е. фантазия ничем неограничена

Добавлено:
P.S. Разделителем слов в форте является пробел(или любой другой символ с кодом меньше 32-х). А вот запятая в слове является признаком того, что это слово что-то компилирует в словарь.
Автор: mozers, Отправлено:23:55 22-11-2008
VoidVolker
Я запятую только для наглядности привел (т.к. пробел цветом не выделишь
Поэтому разделители используй какие надо (пробел - значит его).
А вот то, что параметры пишутся впереди оператора
Цитата:
32 Массив 345 FILL
- это фигово Придется подсказку по Ctrl+Shift+Space глядеть.
Странный какой то язык... В HELP nnCron все намного проще:
Код:
FILE-APPEND: "filename" "text"
FILE-COPY: "from_filename" "to_filename"
FILE-CREATE: "filename"
FILE-CROP: "filename" <max_size_in_kb> <size_after_crop>
FILE-ACCESS-DATE: "path"
FILE-CREATION-DATE: "path" (FILE-DATE: "path")
FILE-WRITE-DATE: "path"
FILE-DELETE: "filename"
Т.е. поставил : - возникла подсказка.

Цитата:
Как назначить хоткей на копирование пути и/или имени файла?
Так же как на любую другую команду меню (это команды 60-63).

Автор: VoidVolker, Отправлено:12:34 23-11-2008
mozers

Цитата:
А вот то, что параметры пишутся впереди оператора
Цитата:32 Массив 345 FILL
- это фигово Придется подсказку по Ctrl+Shift+Space глядеть.
Странный какой то язык..

Называется "обратная польская запись" или постфиксная запись. Да, по-началу это кажется странным, а потом со временем понимаешь, что на самом деле это очень просто и удобно.

Цитата:
Придется подсказку по Ctrl+Shift+Space глядеть.
Странный какой то язык... В HELP nnCron все намного проще:

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

Код:
FAPPEND
FCOPY
FDELETE

И поэтому думаю более корректно использовать пробел для вывода подсказок, т.к. именно он является признаком конца слова. А еще есть слова типа :NONAME - тут двоеточие в начале.
Автор: VoidVolker, Отправлено:12:33 24-11-2008
А вот как из SciTE Helper можно добавить всплывающие подсказки по словам? По сути добавить в скайте подсказку как если бы она была из апи-файла, при этом не трогая сам апи файл.
Автор: mozers, Отправлено:17:48 24-11-2008
VoidVolker
Если в Lua, то - так test.lua :
Код:
editor:CallTipShow(editor.CurrentPos, 'Моя подсказка')

Если действительно необходимо управлять SciTE извне, то аналогично test.vbs :
Код:
Set SciTE = CreateObject("SciTE.Helper")
SciTE.LUA("editor:CallTipShow(editor.CurrentPos, 'Моя подсказка')")

Автор: TymurGubayev, Отправлено:18:49 24-11-2008
Такая фигня:
1. В SciTEDoc_rus.html#creatapi написано: "*.api-файл представляет собой
текстовый документ, формат которого изложен в описании параметров
api.filepattern и autocomplete.lexer."
В SciTEDoc_rus.html#api стоит: "Чтобы узнать, как создавать API-файлы, см.
раздел "Создание API-файлов"."
В SciTEDoc_rus.html#autocomplete.start.characters (ссылка от
autocomplete.lexer) вообще ничего.

А не работает следующее:
в lua.api строчки:
aa
aa.bb
aa.bb.cc

Автодополнение работает так:
aa[Ctrl+Space] - выводит все варианты
aa. - всплывает bb
aa.bb[Ctrl+Space] - не всплывает ничего
aa.bb. - аналогично (а хотелось бы cc)

Я не знаю наверняка, баг это программы или отсутствие документации. Если второе, хорошо бы, если бы знающие люди документацию доделали, а заодно объяснили бы мне, что я делаю не так.

2. Если установлена подсветка properties, автодополнение ведёт себя почти идеально: в списке автоматически выбирается подходящий вариант по мере набора:
f[Ctrl+Space] - список автодополнения есть, выбрана строчка с "false"
f[Ctrl+Space]i - список автодополнения есть, выбрана строчка с "file"
Если установлена другая подсветка (напр, lua), список автодополнения пропадает
после ввода следующего символа.
Например, для Lua:
f[Ctrl+Space] - список автодополнения есть, выбрано "file:close"
f[Ctrl+Space]i - вместо того, чтобы остаться на "file:close", список автодополнения просто исчезает.

Параметра, отвечающего за такое поведение автодополнения, я так и не нашёл. Подскажите плз!

Автор: VoidVolker, Отправлено:20:27 24-11-2008
mozers
Нее, не так. Я просто хочу передать скайте имя нового слова и подсказку по нему так, чтобы он потом сам выводил подсказку по слову, как если бы она была в апи-файле.
Автор: TymurGubayev, Отправлено:08:07 25-11-2008
Частично разобрался с фигнёй номер 1 (см. пост чуть выше):
надо было всего-то слегка переписать AutocompleteObject.lua, заодно я его чуть обновил.
Теперь скрипт пытается искать начало имени объекта влево от введённого разделителя до упора:
Было: aa.bb. ---> показывает методы для "bb"
Стало: aa.bb. ---> показывает методы для "aa.bb"

Если кому надо, скажите куда положить.
Поведение [ctrl+space] переписать средствами Луа уже не так просто, так что "aa.bb[Ctrl+Space] - не всплывает ничего" так и осталось.

А на самом деле это легка решается правкой editor:WordStartPosition() (например, вторым параметром паттерн символа из того, что считаем словом, по умолчанию [%a%d_] или что-то в этом духе, но при нужде -- как в данном случае -- можно изменить например на [%a%d_%.%:].
Автор: mozers, Отправлено:09:18 25-11-2008
TymurGubayev
Давайте всетаки отделим мухи от котлет:
По [Ctrl+Space] и [Ctrl+I] срабатывает механизм автодополнения заложенный в коде SciTE.
Параметры его работы определяют куча параметров autocomplete.* , autocompleteword.automatic, word.characters.filepattern и содержимое соответствующего api-файла.
Если нам кажется что это автодополнение работает неверно то перед началом тестирования необходимо отключить все скрипты, чтобы их действие не было приписано редактору.

У AutocompleteObject.lua - совсем другие задачи! (Страницу назад объяснял - повторять не буду). Для его корретной работы и api-файл необходимо дополнять и параметры автодополнения выставлять из несколько других соображений. Смотрите начало скрипта - там подробно описан алгоритм его работы.

VoidVolker
Не думаю что это вообще возможно. В SciTE нет параметра в котором бы хранилось соотвествие слово->подсказка. Так что только если динамически дописывать-перечитывать текущий api-файл.
Автор: DJ makrus, Отправлено:11:23 25-11-2008
VoidVolker
Цитата:
Для кронтабов функция autocomplete.nncrontab неприменима, т.к. в ннкроне объектов и их свойств нету...
Я постом выше уже писАл что скрипту должно быть все равно - пишу я программу на объктно-ориентированном языке или письмо на деревню бабушке! Если я в письме использую синтаксис поддерживаемого AutocompleteObject формата и подключен соотвествующий *.api, то скрипт должен работать!
Цитата:
Что-то странное со всплывающими подсказками из *.api - подсказки всплывают только, если после слова в апи-файле есть открывающая скобка. Это настраиваемая фишка или глюк?
Это фишка, так мне в свое время было объяснено mozers'ом, но к сожалению не отключаемая

mozers
Цитата:
api.nncrontab используется только скриптом.
Да с отключенным скриптом нет всплывающих подсказок, а я на них очень большие надежды возлагаю с включенным - есть подсказки (если они начинаются со скобки) и удвоение последнего введенного символа при выборе из списка автодополнения IMHO, этот гордиев узил можно разрубить сделав аналог скрипта AutocompleteObject учитывающий особенности его работы в nnCron'е/Форте.
Но может можно как-то настроить cуществующий скрипт?
Цитата:
Чтобы в боковой панели список видеть? - в SideBar.lua.
ага, спасибо будем пробывать дорабатывать
Цитата:
Чесноговоря даже мысли щас нет как это дело можно красиво реализовать Самое главное я не уверен что это кому то кроме тебя может понадобится...
Ну это не критично, но если вдруг еще кто-то об этом попросит, вспомните, пожалуйста, что он не первый кто просит об этом
Цитата:
"FileMan: Change Dir" ?
да, так даже лучше!
Цитата:
Или пункт "Open File" в меню жирным? Что мы мечтаем? - ни то ни другое на сегодня - невозможно
Если бы я располагал хотя бы 10-ой частью ваших знаний в данной области, то возможно я предложил бы более реальный вариант, а так я предлагаю идею (возможно не новую для вас) а уж возможно ли это - вам лучше знать, и делать так или нет - решать тоже вам
Цитата:
Ну а кто впихнул в nncrontab.properties эту чушь?
Скорее всего - я , в те времена когда пытался разобраться с этой настройкой самостоятельно по аналогии с другими файлами настроек, а потом, по другим вопросам, высылал вам и vladvro свои файлы не чистя их от результатов своих эксперементов и вот это оказалось в сборке. Но даже если в подключенном файле nncrontab.properties нет этой чуши, все равно
Цитата:
подсказки всплывают только, если после слова в апи-файле есть открывающая скобка.
т.к. этот параметр и не должен проверять что в api-файле, он же нужен что бы указать символ(ы) при наборе которого в редактируемом файле (а не api-файле) должна появиться подсказка, или я опять ошибаюсь
Цитата:
Зачем? Чтобы после возникновения подсказки стирать его???
Да, к сожалению, я не придумал другой альтернативы , забегаю вперед - идея хоткея "Ctrl+Shift+Space" - класс, я почему-то совсем забыл про хоткеи (инерция мышления ), но щас попробовал: по хоткею не появляется, ввожу вопрос - вижу подсказку
Пробовал пробел, но долго не протянул (и это с моими не до конца заполненными api-файлами ) - отвлекает постоянно появляющаяся и, далеко не всегда нужная, подсказка. Подсказка должна быть по требованию, а не автоматическая!
Цитата:
Странный какой то язык... В HELP nnCron все намного проще...
язык и nnCron - это одно и то же! см. параллельный топик
Автор: mozers, Отправлено:15:12 25-11-2008
DJ makrus
Цитата:
Если я в письме использую синтаксис поддерживаемого AutocompleteObject формата и подключен соотвествующий *.api, то скрипт должен работать!
Да. Только смысла от такого скрипта - никакого.

Цитата:

Цитата:
подсказки всплывают только, если после слова в апи-файле есть открывающая скобка. Это настраиваемая фишка или глюк?
Это фишка, так мне в свое время было объяснено mozers'ом, но к сожалению не отключаемая
Вот ляпнешь порой сдуру какую нить чушь, а люди тебя - цитируют... Неправда это - все настраивается.

Цитата:
Да с отключенным скриптом нет всплывающих подсказок, а я на них очень большие надежды возлагаю с включенным - есть подсказки (если они начинаются со скобки) и удвоение последнего введенного символа при выборе из списка автодополнения IMHO, этот гордиев узил можно разрубить сделав аналог скрипта AutocompleteObject учитывающий особенности его работы в nnCron'е/Форте.
Можно сделать скрипт, который будет заниматься автодополнением.
Можно сделать скрипт, который будет заниматься выводом подсказок.
Можно... Но зачем??? Если эти функции уже зашиты в ядре и могут работать как надо - надо только разобраться и настроить их как положено.

Цитата:
Чтобы в боковой панели список видеть? - в SideBar.lua. ага, спасибо будем пробывать дорабатывать
В новом варианте SideBar.lua nnCron уже есть.
Цитата:
Но даже если в подключенном файле nncrontab.properties нет этой чуши, все равно
Цитата:подсказки всплывают только, если после слова в апи-файле есть открывающая скобка.
т.к. этот параметр и не должен проверять что в api-файле, он же нужен что бы указать символ(ы) при наборе которого в редактируемом файле (а не api-файле) должна появиться подсказка, или я опять ошибаюсь
Ошибаешся...

Цитата:
почему-то совсем забыл про хоткеи (инерция мышления ), но щас попробовал: по хоткею не появляется
Присылай мне твои api и какую подсказку в каком месте ты хочешь видеть... Настроим - ВСЕ будет работать.
mozers(собака)mail.ru если забыл
Автор: VoidVolker, Отправлено:16:18 25-11-2008
mozers

Цитата:
В новом варианте SideBar.lua nnCron уже есть.

А можно по-подробнее? Что именно там есть? А то у меня тут появилась идея как ее приспособить для кронтабов

Добавлено:
К слову о всплывающих подсказках - может быть удобнее будет сделать чтобы они вылазили не в позиции курсора, а "парковались" либо в самом низу экрана либо в нижней части окна скайте? Или может быть в консоли(просто идея)?

Добавлено:
О! Придумал-таки применение автодополнению: в задаче в спецификации события WatchHotKey: и в строке для слова SEND-KEYS - часто бывает нужно указать код клавиши или ее имя:

Код:
WatchHotKey: "{0x74}" \ 'F5'
WatchHotKey: "{SCROLLLOCK}"
SEND-KEYS: "1{+}2{ENTER}{DELAY 2000}*3{ENTER}"

И вот тут как раз список кнопок был бы очень кстати - сначала все именованные в кроне клавиши, а затем список оставшихся, только вместо имени, вставлялся бы их код в шестнадцатиричном виде. Причем в SEND-KEYS указать код нельзя.
Автор: TymurGubayev, Отправлено:20:17 25-11-2008
mozers
Итак, мухи:

Цитата:
AutocompleteObject.lua
mozers™
version 2.03
------------------------------------------------------
Ввод разделителя, заданного в autocomplete.[lexer].start.characters
вызывает список свойств и медодов объекта из соответствующего api файла
Ввод пробела или разделителя изменяют регистр символов в имени объекта в соответствии с записью в api файле
(например "ucase" при вводе автоматически заменяется на "UCase")

Второй пункт у меня не работает.

Чтобы первый пункт работал корректно (а именно воспринимал "aa.bb" как имя объекта), необходимо в lua.properties исправить word.characters.$(file.patterns.lua)=$(word.chars.lua).:
Тогда и [Ctrl+Space] начинает работать правильно, потому что от этого параметра зависит поведение editor:WordStartPosition. (это были котлеты. Которые оказались неотделимы от мух).
В связи с чем пара предложений:
1. Исправить файл lua.properties
2. В справке к autocomplete добавить ссылку на word.characters
3. В справке написать наконец формат .api - файлов. (Сейчас это выглядит так:
SciTEDoc_rus.html#creatapi: "*.api-файл представляет собой текстовый документ, формат которого изложен в описании параметров api.filepattern и autocomplete.lexer."
api.filepattern: "Чтобы узнать, как создавать API-файлы, см. раздел "Создание API-файлов". " (т.е. опять SciTEDoc_rus.html#creatapi)

Проблема номер 2 из моего поста выше остаётся открытой.

[upd]
Картинка номер 3 вот отсюда: http://mozers.net.ru/temp/scite-demo.htm у меня тоже не выходит.
Автор: mozers, Отправлено:00:25 26-11-2008
VoidVolker

Цитата:
А можно по-подробнее? Что именно там есть?
Выводятся функции nnCron (в соответсвии с алгоритмом DJ makrus).
Быстрее качнуть 25кБ и поглядеть самому...

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

Цитата:
О! Придумал-таки применение автодополнению:
Да тут и AutocompleteObject можно приспособить. Составляйте api-файл.

TymurGubayev
Цитата:
Ввод пробела или разделителя изменяют регистр символов в имени объекта в соответствии с записью в api файле
(например "ucase" при вводе автоматически заменяется на "UCase")
Виноват. Это в старой версии работало. Сейчас я эту функцию убрал. А текст убрать забыл.

Цитата:
Чтобы первый пункт работал корректно (а именно воспринимал "aa.bb" как имя объекта),
Если "aa.bb" считать именем объекта, то это будет нарушением логики скрипта. аа - объект bb - его метод. Если надо выводить свойства метода bb то в api надо задавать не свойства объекта aa.bb, а свойства bb. То что bb является методом объекта aa тоже надо задавать отдельной строкой. Вообще все это написано в том же скрипте только чуть ниже. См.
Цитата:
Для понимания алгоритма работы скрипта,...


Цитата:
необходимо в lua.properties исправить word.characters.$(file.patterns.lua)=$(word.chars.lua).:
Если вы осознаете последствия - исправляйте. Я этого никогда делать не буду.
Цитата:
Тогда и [Ctrl+Space] начинает работать правильно
Я такое поведение правильным не считаю.
По предложениям:
1. Уже ответил.
2. Добавим (только бы не забыть).
3. Официально этот формат нигде не документирован. Правила его составления вычислялись методом проб и ошибок и анализа исходников. Я уже выкладывал на форуме вариант описания - предлагал обсудить, поспорить - ничего не услышал в ответ.
Если есть такая необходимость можно повторить, но пока под текстом этой инструкции не подпишутся спецы уровня VladVRO она в документацию не войдет.

Цитата:
Проблема номер 2 из моего поста выше остаётся открытой.
То что порой список автодополнения внезапно исчезает я полагаю виновата доработка AutoComplete. Предположение основано на том, что такое наблюдается только на файлах с текстом. В пустых файлах автодополнение работает стабильно. Но это - предположение. Его надо проверять.

Цитата:
Картинка номер 3 вот отсюда: http://mozers.net.ru/temp/scite-demo.htm у меня тоже не выходит.
Верни взад все оригинальные настройки сборки - заработает 100%.
Автор: TymurGubayev, Отправлено:05:41 26-11-2008
mozers
У меня в .api есть строчка "socket.dns.gethostname() = string\nReturns the standard host name for the machine as a string.". Т.е. у объекта socket есть поле -- объект dns, у которого уже метод... При этом меня устраивает, что автодополнение появляется для socket.dns, и не появляется для dns.
Короче, эту функциональность я сделал сам, если кому будет интересно - выложу.

Кроме того, в тексте скрипта после

Цитата:
Для понимания алгоритма работы скрипта, условимся, что в записи
azimuth:left;list-style-|type:upper-roman
где курсор стоит в позиции, отмеченной знаком "|", часть
list-style - будет называться "объект"
type - будет называться "метод"

так и просится "а знак '-' -- один из разделителей". (Если я правильно понял, ибо описания работы там нет. Да и не надо особо.).

Кстати,

Цитата:
На что не хватило терпения:
1. Объединить функции CreateObjectsTable и CreateAliasTable в одну (чтобы обрабатывать api файлы за один проход)
2. Сделать вызов функций постоения таблиц более редким (сейчас они строются постоянно после ввода символа-разделителя)

я сделал.
Кроме того добавил фичу для lua: если лексер "lua", скрипт при построении списка синонимов из файла (функция FindDeclaration) распознаёт str = "" как объект-строку. Соответственно, если добавить пару синонимов в lua.api, то по "str:" всплывает список из стандартных строковых методов. (Аналогичную функциональность просто имплементировать для любого языка)
Ну и ещё по мелочи.

Да, с пунктом 1 я погорячился Так что нормально атводополнение по [Ctrl+Space] так и не работает. И это то ли баг, то ли feature request.
3. Ну, раз тут такие сложности... А жаль.

(А картинка получилась после тупого добавления в .api строчки #file=io.open )

Проблема номер 2:
к сожалению, список (причём любой) исчезает не внезапно, а именно при вводе очередного символа либо при перемещении курсора (удалять символы Backspace-ом, если список появился по [Ctrl+Space] можно. Список из AutocompleteObject.lua пропадает, если стереть разделитель - что логично). Вряд ли это из-за AutoComplete.
Я так понимаю, проблема в editor:UserListShow, либо где-то запрятано хитрое событие на нажатие клавиши, которое убивает список.
На актуальной чистой сборке тоже не работает. А вот в старой сборке "Версия 1.76 .57Ru" всё отлично.

PS Я чуток исправил LineComment() из xComment.lua: оно теперь выполняет editor:VCHome() только если курсор не стоит после кучи пробелов/табов.
Т.е. для Луа строка "\t|code" (| - положение курсора) преобразуется в "\t-- code", вместо "-- \tcode". Имхо нужный патч

upd
словил какой-то страннейший баг. Во-первых, перестало работать временное расширение "word.characters.$(file.patterns.lua)" на пару символов (".:"). Причём "ничего не трогал, ничего не менял!!!"(с).
Пытаясь разобраться обнаружил следующую фичу:
оказывается, props['CurrentSelection'] ~= editor:GetSelText() -- точнее, не всегда равно.
Например, если выделить в файле .properties текст "$(chars.numeric)" и нажать [Alt+V], то в консоль пойдёт "0123456789 = ", вместо "$(chars.numeric) = 0123456789". (Перед знаком '=' находится как раз props['CurrentSelection'])
Вопрос: это баг или фича?????
upd2
Так и не разобрался, переставил SciTE -- всё равно не пашет. Такое впечатление, что props["some_property"] = "some_new_value" стало работать с запозданием -- если в скрипте убрать откат на старое значение, то на следующий заход editor:WordStartPosition воспринимает уже новое значение.
Автор: DJ makrus, Отправлено:11:19 26-11-2008
mozers
Цитата:
Да. Только смысла от такого скрипта - никакого.
Как это? Скрипт-то тот же! Он же помогает при наборе кода, вот должен помогать и при написании письма "на деревню бабушке"!
Цитата:
Неправда это - все настраивается.
Ох, скорей бы уже убедиться как это замечательно может работать
Цитата:
Но зачем??? Если эти функции уже зашиты в ядре и могут работать как надо - надо только разобраться и настроить их как положено.
Если не будет еще одного дублирующего скрипта - так это только +
Цитата:
В новом варианте SideBar.lua nnCron уже есть.
Ага, спасибо что сами это сделали, только вот в кронтабах обязательно использовать вариант "-- для nnCron'а ", т.к. там важны в первую очередь именно задачи (ни один кронтаб фактически не бывает без задач, хотя может быть), а вот кронтаб без определений через ":" и ";" (вариант "-- для nnCron'а и Forth'а", вы же его использовали?) - очень частое явление.
Цитата:
Ошибаешся...
Присылай мне твои api и какую подсказку в каком месте ты хочешь видеть... Настроим - ВСЕ будет работать.
Утром отправил api-файлы, вы не поверите, но жду не дождусь когда убедюсь, что ошибся!

VoidVolker
Цитата:
А можно по-подробнее?
названия файлов - ссылки, скачай, там вообще-то много чего изменилось, ну по крайней мере во многим местах
Автор: VoidVolker, Отправлено:11:59 26-11-2008
mozers

Цитата:
Выводятся функции nnCron (в соответсвии с алгоритмом DJ makrus).
Быстрее качнуть 25кБ и поглядеть самому...

DJ makrus

Цитата:
названия файлов - ссылки, скачай, там вообще-то много чего изменилось,

Может я конечно что-то не так делаю: скачал, закинул вместо старой, перезапустил скайте - внешне в панельке ничего не изменилось, в кронтабе - ни списка задач ни чего-то еще - пусто.
Автор: mozers, Отправлено:12:01 26-11-2008
TymurGubayev
Цитата:
При этом меня устраивает, что автодополнение появляется для socket.dns, и не появляется для dns.
Короче, эту функциональность я сделал сам, если кому будет интересно - выложу.
AutocompleteObject может работать так же. Только в word.characters точку придется добавить. Для css именно так и сделано (добавлен -), а вот делать так для Lua мне очень не нравится.

Цитата:
так и просится "а знак '-' -- один из разделителей".
Спасибо за замечание - добавил.

Цитата:
я сделал. Кроме того добавил фичу
Ну так не стесняйся - выкладывай прямо тут - бум поглядеть
Только в теги [ more ] [ /more ] код заключи обязательно!

Цитата:
Так что нормально атводополнение по [Ctrl+Space] так и не работает
Не пойму чего тебе надо? Имхо - нормально работает - точнее, в меру своего функционала.

Цитата:
3. Ну, раз тут такие сложности
Просто в документации не место домыслам и предположениям. Кстати, и формат api-файла и принцип его работы описан в api.filepattern. Расширенный формат (для AutocompleteObject.lua) описан в файле ActiveX.api.

Цитата:
Я чуток исправил LineComment() из xComment.lua: оно теперь выполняет editor:VCHome() только если курсор не стоит после кучи пробелов/табов.
Т.е. для Луа строка "\t|code" (| - положение курсора) преобразуется в "\t-- code", вместо "-- \tcode". Имхо нужный патч
Выкладывай!
Насколько я помню этот скрипт комментарий устанавливает с учетом параметра comment.block.at.line.start.lexer.

Цитата:
если выделить в файле .properties текст "$(chars.numeric)" и нажать [Alt+V],
Надо выделять текст, что я выделил цветом.
p.s. глянь в свой личный ящик
Автор: VoidVolker, Отправлено:14:02 26-11-2008
mozers

Цитата:
Увы - невозможно. В верхнем левом углу еще как то получается - больше никак

Чего здесь невозможного? Создать при запуске окошко, по срабатыванию подсказки установить ему текст с форматированием, припарковать и показать?
Автор: TymurGubayev, Отправлено:18:27 26-11-2008
mozers
ничего не вижу в своём личном ящике

Цитата:
Надо выделять текст, что я выделил цветом.

я знаю, меня удивило, что props['CurrentSelection'] может вернуть выделенный текст, а может и какую-нибудь фигню, если текст с настройкой совпадёт. Имхо это баг.
И мне больше нравится выделять целиком, так что я слегка подправил value.lua

В xComment.lua я практически ничего не трогал, if comment_block_at_line_start == 1 как было, так и осталось.
А исправление следующее:

Код:
local function LineComment()
-- Комментирование одной невыделенной строки
-- ... пропущен код
if
comment_block_at_line_start == 1 then
editor:GotoPos(editor:PositionFromLine(line_sel_start))
else
local
line, car = editor:GetCurLine()
local
_, e = line:find("%s*")
-- если позиция каретки НЕ совпадает с первым НЕ пробелом, то жмём на Home.
if
car ~= e then
editor:VCHome()
end
end
-- ... пропущен код.
end

т.е. достаточно отредактировать один блок else ... end

А AutocompleteObject.lua я сейчас ещё добью чуток, и выложу.



1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 / 27 / 28 / 29 / 30 / 31 / 32 / 33 / 34 / 35 / 36 / 37 / 38 / 39 / 40 / 41 / 42 / 43 / 44 / 45 / 46 / 47 / 48 / 49 / 50 / 51 / 52 / 53 / 54 / 55 / 56 / 57 / 58 / 59 / 60 / 61 / 62 / 63 / 64 / 65 / 66 / 67 / 68 / 69 / 70 / 71 / 72 / 73 / 74 / 75 / 76 / 77 / 78 / 79 / 80 / 81 / 82 / 83 / 84 / 85 / 86 / 87 / 88 / 89 / 90 / 91 / 92 / 93 / 94 / 95 / 96 / 97 / 98 / 99 / 100 / 101 / 102 / 103 / 104 / 105 / 106 / 107 / 108 / 109 / 110 / 111 / 112 / 113 / 114 / 115 / 116 / 117 / 118 / 119 / 120 / 121 / 122 / 123 / 124 / 125 / 126 / 127 / 128 / 129 / 130 / 131 / 132 / 133 / 134 / 135 / 136 / 137 / 138 / 139 / 140 / 141 / 142 / 143 / 144 / 145 / 146 / 147 / 148 / 149 / 150 / 151 / 152 / 153 / 154 / 155 / 156 / 157 / 158 / 159 / 160 / 161 / 162 / 163 / 164 / 165 / 166 / 167 / 168 / 169 / 170 / 171 / 172 / 173 / 174 / 175 / 176 / 177 / 178 / 179 / 180 / 181 / 182 / 183 / 184 / 185 / 186 / 187 / 188 / 189 / 190 / 191 / 192 / 193 / 194 / 195 / 196 / 197 / 198 / 199 / 200 / 201 / 202 / 203 / 204 / 205 / 206 / 207 / 208 / 209 / 210 / 211 / 212 / 213 /
SciTE © 2004 - 2011