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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: chupakabra
Дата сообщения: 13.06.2007 17:36
vladvro, спасибо, помогло.

Ещё пара вопросов:

1. При включённой автоиндентации и вводе однострочных операторов С++ вида:
if (c) do();
при переходе на следующую строку редактор добавляет отступ, который в данном случае вовсе не нужен. Т.е. он был бы полезен если бы я написал так:
if (c) {
do();
}
При вводе же однострочных операторов постоянно приходится удалять этот отступ вручную.
Подскажите как можно поправить, если не на уровне настроек программы, то хотя бы где смотреть в исходном коде.

2. Как бы сделать так, чтобы при выборе команды Build программа make запускалась бы в указанном каталоге (т.е. к примеру исходный код лежит в каталоге src, а сборка производится в каталоге bin).
Автор: vladvro
Дата сообщения: 13.06.2007 18:05
chupakabra
Цитата:
Подскажите как можно поправить, если не на уровне настроек программы, то хотя бы где смотреть в исходном коде.

смотреть видимо надо тут:
SciTEBase.cxx строка 3402
Код: void SciTEBase::AutomaticIndentation(char ch) {
Автор: BioInfo
Дата сообщения: 14.06.2007 07:58
chupakabra

Цитата:
1. При включённой автоиндентации и вводе однострочных операторов С++ вида:
if (c) do();
при переходе на следующую строку редактор добавляет отступ, который в данном случае вовсе не нужен. Т.е. он был бы полезен если бы я написал так:
if (c) {
do();
}


Альтернативный совет
Я обычно пишу так:
if (c)
do();
Очень мало где требуется чтобы уж было if (c) do(); - в одну строку
Если нужно if (с) do1() else do2(); то записываю так:
(с)?do1():do2();
Автор: vladvro
Дата сообщения: 14.06.2007 09:28
Нейл пообещал скоро выпустить новый релиз редактора 1.74

Цитата:
There are some test downloads available from SourceForge:

http://scintilla.sourceforge.net/scite.zip Source
http://scintilla.sourceforge.net/wscite.zip Windows executable

I hope to release version 1.74 in a few days.

The changes from 1.73 are (for Scintilla unless SciTE mentioned):

OS X support.
Поддержка OS X.
Indicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits of styling bytes is deprecated and will be removed in the next version.
Indicators выделенны в отдельную структуру, что позволит увеличить их количество. Хранение indicators в старших битах стилистических байтов является устаревшим и будет удален в следующей версии.
Unicode support extended to all Unicode characters not just the Basic Multilingual Plane.
Поддержка Unicode расширена на все символы Unicode, а не только на Basic Multilingual Plane.
Performance improved on wide lines by breaking long runs in a single style into shorter segments.
Повышена эффективность работы на длинных строках, за счет дробления длинных непрерывных кусков одного стиля на более короткие сегменты.
Performance improved by caching layout of short text segments.
Повышена эффективность путем кэширования формата коротких сегментов текста.
Caret may be displayed as a block.
Курсор (каретка) может быть отображен в виде блока.
Lexer added for GAP.
Добавлен лексер для GAP.
Lexer added for PL/M.
Добавлен лексер для PL/M.
Lexer added for Progress.
Добавлен лексер для Progress.
SciTE session files have changed format to be like other SciTE .properties files and now use the extension .session. Bookmarks and folds may optionally be saved in session files.
Изменен формат файлов сессий SciTE на формат файлов SciTE .properties и изменено расширение на .session. Закладки и фолдинг могут по желанию сохраняться в файлах сессии.
On GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when pasting into Open Office.
В GTK+, копирования в буфер обмена не содержит тип text/urilist, так как это создает проблемы при вставке в Open Office.
On GTK+, Scintilla defaults caret blink rate to platform preference.
В GTK+, по умолчанию в Scintilla скорость мигания курсора берется из настроек платформы.
Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
Перенос (Dragging) начинается только после некоторого перемещения мыши. Это убирает ошибочный перенос (drag), возникавший при простом клике по выделению.
Bug fixed where brace highlight not shown when caret line background set.
Исправлена ошибка с подсветкой скобок если указан фон каретки.
Bug fixed in Ruby lexer where out of bounds access could occur.
Исправлена ошибка в лексере Руби с выходом за пределы.
Bug fixed in XML folding where tags were not being folded because they are singletons in HTML.
Исправлена ошибка с фолдингом в XML, не сворачивались теги являющиеся singletons (без закрывающего тега) в HTML.
SciTE hang fixed when using UNC path with directory properties feature.
Исправлено зависание SciTE при использовании UNC пути (сетевой путь до файла) с новой возможностью задания настроек для проекта (directory properties).
Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it can work shen source only provides Unicode or when using an encoding different from the system default.
Исправлена ошибка под Windows с проверкой кидаемого текста на Unicode даже в не Unicode режиме, с тем чтобы можно было работать с Unicode источником или при использовании кодировки отличающейся от системной.
SciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started.
Исправлена ошибка на GTK+ с невозможностью остановить исполнение, если запущенно более одного процесса.
Minor line end fix to PostScript lexer.
Мелкое исправление окончания строк в PostScript лексере.

Neil

Автор: mozers
Дата сообщения: 14.06.2007 09:34
chupakabra vladvro
Цитата:
редактор автоматически меняет его таким образом (т.е. заменяет первую букву на заглавную):
// Copy file attributes
это результат работы скрипта AutocompleteObject.lua,
если сильно донимает то можно его отключить
Диагноз - точный Постараюсь поправить этот нюансик...
В С++ отключить, конечно можно - не шибко нужен. А вот скрипты писать без него - тоскливо...

ALL
Наверное все про это уже знают... Но мне показалось интересным:
Подключение нескольких api файлов:
Код: api.$(file.patterns.lua)=$(SciteDefaultHome)\api\SciTELua.api;$(SciteDefaultHome)\api\LuaWoW.api
Автор: chupakabra
Дата сообщения: 14.06.2007 23:44
По поводу проблемы с автоиндентацией для однострочных операторов: я внес следующие изменения в код и вроде бы нужный эффект достигнут:
[more=Код]
SciTEBase.cxx строка 2925
Код: IndentationStatus SciTEBase::GetIndentState(int line) {
[no]// C like language indentation defined by braces and keywords[/no]
IndentationStatus indentState = isNone;
SString controlWords[20];
unsigned int parts = GetLinePartsInStyle(line, statementIndent.styleNumber,
-1, controlWords, ELEMENTS(controlWords));
for (unsigned int i = 0; i < parts; i++) {
if (includes(statementIndent, controlWords[i]))
indentState = isKeyWordStart;
}
parts = GetLinePartsInStyle(line, statementEnd.styleNumber,
-1, controlWords, ELEMENTS(controlWords));
for (unsigned int i = 0; i < parts; i++) {
if (includes(statementEnd, controlWords[i]))
indentState = isNone;
}
[no]// Braces override keywords[/no]
SString controlStrings[20];
parts = GetLinePartsInStyle(line, blockEnd.styleNumber,
-1, controlStrings, ELEMENTS(controlStrings));
for (unsigned int j = 0; j < parts; j++) {
if (includes(blockEnd, controlStrings[j]))
indentState = isBlockEnd;
if (includes(blockStart, controlStrings[j]))
indentState = isBlockStart;
}
return indentState;
}
Автор: mozers
Дата сообщения: 15.06.2007 09:32
chupakabra
Постите, пожалуйста, изменения по коду в соответствующей теме.
Ответил там.

Добавлено:
ALL
А в SciTE 1.74 добавляются долгожданные возможности
Цитата:
A new testing version is up with Lua 5.1.

http://scintilla.sourceforge.net/scite.zip Source
http://scintilla.sourceforge.net/wscite.zip Windows executable

Neil
Автор: Serg2308
Дата сообщения: 18.06.2007 07:41
Доброго времени суток...
А есть уже сборка которая понимает Русские операторы в подсветке?
Если есть киньте пожалуйста ссылку, был бы крайне признателен...
Автор: alrusdi81
Дата сообщения: 18.06.2007 09:04
Serg2308
Вот только что скомпилил последние исходники. Тестируй)
Автор: Dennica
Дата сообщения: 18.06.2007 10:08
Подскажите, можно ли как-то разрешить курсору движение за eol?
Автор: vladvro
Дата сообщения: 18.06.2007 10:12
Dennica
Цитата:
Подскажите, можно ли как-то разрешить курсору движение за oel?

нет, нельзя
Автор: Dennica
Дата сообщения: 18.06.2007 10:19
vladvro

Цитата:
нет, нельзя

Мне собственно для чего понадобилось то. Нужно скопировать вертикальный блок текста не от начала строки, в середине блока строки получаются длинней чем в начале и конце и когда я зажав alt подвожу выделение к последней строке то получается не могу захватить в выделение хвосты из серединных длинных строк. Может хотяб это можно вылечить?
Автор: Serg2308
Дата сообщения: 18.06.2007 11:50

Цитата:
Вот только что скомпилил последние исходники. Тестируй)

УРРА... Заработало...

А как бы теперь сделать чтоб у меня комментарий по # ?
То есть в строке ВСЕ ЧТО ПОСЛЕ решетки все комментарий вне зависимости от того где он стоит(в начале строки или в середине).
Автор: vladvro
Дата сообщения: 18.06.2007 14:53
Dennica
Цитата:
Нужно скопировать вертикальный блок текста не от начала строки, в середине блока строки получаются длинней чем в начале и конце и когда я зажав alt подвожу выделение к последней строке то получается не могу захватить в выделение хвосты из серединных длинных строк. Может хотяб это можно вылечить?

понятно. я посмотрю, может у меня и получится что-нить сделать.
Автор: ALeXkRU
Дата сообщения: 18.06.2007 19:16
как правильно заметил mozers, появился новый релиз SciTE 1.74

Перевод изменений:
Released on 18 June 2007.
Релиз 1.74 от 18 июня 2007 г.

OS X support.
- добавлена поддержка ОС Х

Indicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits of styling bytes is deprecated and will be removed in the next version.
- изменены флаги/индикаторы для отделения структуры данных что позволяет использовать больше флагов/индикаторов. Хранение флагов в высших битах байтов оформления не желательно и будет удалено в следующих версиях.

Unicode support extended to all Unicode characters not just the Basic Multilingual Plane.
- расширена поддержка Юникода для всех символов, а не только Базового мультиязыкового набора кодировок (Basic Multilingual Plane / BMP)

Performance improved on wide lines by breaking long runs in a single style into shorter segments.
- улучшена производительность при работе с широкими строками при разрыве длинных вхождений в одном стиле с короткими сегментами

Performance improved by caching layout of short text segments.
- улучшена производительность при кэшировании формата коротких текстовых сегментов

SciTE includes Lua 5.1.
- включена поддержка языка Lua версии 5.1

Caret may be displayed as a block.
- курсор может отображаться в виде блока

Lexer added for GAP.
- добавлен лексер для GAP

Lexer added for PL/M.
- добавлен лексер для PL/M

Lexer added for Progress.
- добавлен лексер для Progress

SciTE session files have changed format to be like other SciTE .properties files and now use the extension .session. Bookmarks and folds may optionally be saved in session files. Session files created with previous versions of SciTE will not load into this version.
- формат файлов сессий SciTE изменен для соответствия файлам .properties. Теперь используется расширение .session. Маркеры (Bookmarks) и сворачивание блоков (folds) могут опционально сохраняться в файлах сессии. Файлы сессий, созданные в предыдущих версиях SciTE не смогут загружаться в этой версии

SciTE's extension and scripting interfaces add OnKey, OnDwellStart, and OnClose methods.
- в интерфейс расширений SciTE и скриптов добавлены методы OnKey, OnDwellStart и OnClose

On GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when pasting into Open Office.
- в GTK+ копирование в буфер обмена не включало тип text/urilist, что приводило к проблемам при вставке в Open Office

On GTK+, Scintilla defaults caret blink rate to platform preference.
- в GTK+ Scintilla частота мигания курсора по-умолчанию в настройках платформы

Dragging does not start until the mouse has been dragged a certain amount. This stops spurious drags when just clicking inside the selection.
- перетаскивание не начиналось пока мышь не переместится на определенное расстояние. Эта задержка возникала из-за ложного перетаскивания при клике внутри выделеной области.

Bug fixed where brace highlight not shown when caret line background set.
- исправлена ошибка неработающей подсветки скобок если задан фон строки курсора

Bug fixed in Ruby lexer where out of bounds access could occur.
- исправлена ошибка в лексере Ruby, при которой может произойти выход за область доступа

Bug fixed in XML folding where tags were not being folded because they are singletons in HTML.
- исправлена ошибка при фолдинге XML, при которой тэги не сворачивались из-за идентичности в HTML

Bug fixed when many font names used.
- исправлена ошибка при использовании большого количества имен шрифтов

Layout bug fixed on GTK+ where fonts have ligatures available.
- в GTK+ исправлена ошибка форматирования если шрифт содержит сдвоенные знаки (лигатуры)

Bug fixed with SCI_LINETRANSPOSE on a blank line.
- исправлена ошибка с установкой флага SCI_LINETRANSPOSE в пустой строке

SciTE hang fixed when using UNC path with directory properties feature.
- исправлено зависание SciTE при использовании в свойствах каталога пути в формате Universal Naming Convention (UNC)

Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it can work shen source only provides Unicode or when using an encoding different from the system default.
- исправлена ошибка в Windows при проверке пропущенного текста как в Юникоде так и в не-Юникод режиме. Также это может работать когда у источника предусмотрен только Юникод или если используется кодировка отличная от установленной в системе по-умолчанию

SciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started.
- исправлена ошибка SciTE в GTK+ при которой команда "Остановить выполнение" не работала, если запущено больше одного процесса

SciTE bug on GTK+ fixed where mouse wheel was not switching between buffers.
- исправлена ошибка SciTE в GTK+ при которой колесом мыши невозможно переключать буферы

Minor line end fix to PostScript lexer.
- небольшое исправление конца строки в лексере PostScript

скачать (800 кб), исходники (1680 кб)
Автор: mozers
Дата сообщения: 21.06.2007 22:24
WATERPROOF
Цитата:
Ребята, а нет ли желания написать нечто вроде customizatora? С окошками, кнопочками, ...

Configuration-Tool for Scite
Автор: Grisper
Дата сообщения: 22.06.2007 08:10
А никто не делал лексер для Dark Basic ещё? Может есть уже готовый?
Автор: b3nd3rster
Дата сообщения: 22.06.2007 09:09
Почему то в сборке Ru-Board последней нет тулбара. Только начал пользоваться, и даже не представляю где искать проблему. Вот место под тулбар есть, а самих кнопок нет.
Автор: Dennica
Дата сообщения: 22.06.2007 12:37
b3nd3rster
Такая же фигня =\ в примечаниях к релизу написано чтодобавлен параметр для определения пользовательского тулбара, а вот как его определять, где описания параметров глядеть?
Автор: mozers
Дата сообщения: 22.06.2007 12:50
Grisper
Лексер ??? А что, лексер vb что то не отрабатывает?
Имхо достаточно взяв за основу какую нить property основательно ее поковырять...

b3nd3rster Dennica
В SciTE 1.73 .37Ru нету?
Или ты после установки сборки вы надумали еще и ядро обновить?
НЕ надо
Пользуйтесь тем ядром, что в сборке и ждите новую.
Или (альтернативный вариант) - эксперементируйте вместе с нами (только тут путь тернист и на такие вопросы вы ответ должны знать
Автор: vladvro
Дата сообщения: 22.06.2007 13:13
mozers
Цитата:
В SciTE 1.73 .37Ru нету?
Или ты после установки сборки вы надумали еще и ядро обновить?
НЕ надо
Пользуйтесь тем ядром, что в сборке и ждите новую.

говорил я что надо выпустить сборку SciTE 1.73 .45Ru
и думаю что она еще долго может остаться акктуальной, из-за перехода на Луа 5.1 и всех вытекающих из этого проблем.
Автор: Grisper
Дата сообщения: 22.06.2007 13:20
mozers
там извратные конструкции типа
if then / if elseif (без then),
и ещё всякая фигня подобная...

дурацкий язык короче
Автор: Kamir
Дата сообщения: 22.06.2007 14:03
В 1.73 .37Ru на Shift-F6 другое событие выполняется вместо перехода на предыдущую вкладку, хотя в меню указано именно это сочетание.

Добавлено:
Во "Вкладки" пункты "Вкладка влево" и "Вкладки вправо", ИМХО, лишние.
Автор: Dennica
Дата сообщения: 22.06.2007 14:19
mozers

Цитата:
В SciTE 1.73 .37Ru нету?
Или ты после установки сборки вы надумали еще и ядро обновить?

угу =\

Цитата:
НЕ надо

ктож знал, там не написано =\

Цитата:
Пользуйтесь тем ядром, что в сборке и ждите новую.

пока так и сделаю

Цитата:
Или (альтернативный вариант) - эксперементируйте вместе с нами (только тут путь тернист и на такие вопросы вы ответ должны знать

я редактором пользуюсь только неделю примерно, может и должен знать но документацию читал наискосок чес говоря, бо со временем сейчас жесточайший, всемирный облом =) Как получшеет с этим самым со временем всмысле, то непременно попробую разобраться получше с редактором, пока же нужен как рабочий инструмент, не более
Автор: mozers
Дата сообщения: 22.06.2007 14:25
vladvro
Я думаю если поднатужится, то можно на следующей неделе и 1.74 выпустить. Вы же 90% уже сделали

Grisper
А в "извратных конструкциях" не работает фолдиг или подсветка?
Если фолдинг - то действительно надо лексер свой писать (но я бы до этого посоветовал вначале поэксперементировать со всеми подряд имеющимися).
Если подсветка - то для такого "дурацкого языка" достаточно поправить properties файл.

Если дело совсем худо, то тут на офф-форуме один мужик говорил, что свой лексер написать - нефига делать - достаточно внимательно прочитать SciTEExternalLexer.html в документации

Добавлено:
Kamir
Цитата:
В 1.73 .37Ru на Shift-F6 другое событие выполняется вместо перехода на предыдущую вкладку, хотя в меню указано именно это сочетание.
Угу. Никогда не пользовался Shift+F6 поэтому и повесил переименование вкладки (файла) на это сочетание. Надо поправить. Спасибо.

Цитата:
Во "Вкладки" пункты "Вкладка влево" и "Вкладки вправо", ИМХО, лишние
Ну ты сказал! Так ждали этого дела! А сейчас можно будет вкладки мышью перетаскивать - вообще сказка!

Dennica
Цитата:
пока же нужен как рабочий инструмент, не более
Вот поэтому ваш вопрос и сырое ядро, опубликованное прежде времени, расцениваю как свою ошибку.
Автор: Kamir
Дата сообщения: 22.06.2007 16:10

Цитата:
Ну ты сказал!

Я эксперементировал на пустых вкладках и мне показалось что они просто переключаются, а не перемещаются. Может пункт назвать на вроде "Переместить влево"? Информативнее...
Автор: mozers
Дата сообщения: 22.06.2007 17:04
Kamir
Цитата:
Я эксперементировал на пустых вкладках
Опа! Никогда этого не замечал Не бага, конечно, но так - недоработочка...

Цитата:
Может пункт назвать на вроде "Переместить влево"? Информативнее...
Принимается (сам то locale.properties небось уже поправил?)
Автор: b3nd3rster
Дата сообщения: 22.06.2007 19:26
mozers
усе, разобрался. ядро не стал обновлять, теперь тулбар есть. thx!
Автор: Ekstazi
Дата сообщения: 25.06.2007 20:18
я тут одну фишку полезную приглядел, как в IDA pro, при фолдинге при наведении на функцию показывается отрывок из неё...Было бы полезно + ещё переход по именам функций и будет вообще круто...
Автор: haC0DEmon
Дата сообщения: 25.06.2007 23:08
Компиляция форка scite от Мишеля Форала под Win32 и MS VC6 SP6:
1. Скачать исходники с http://scite-tools.googlecode.com/svn
2. Скачать lua5_1_2_Win32_dll_lib.zip с http://luabinaries.luaforge.net/download.html
3. Положить lua51.lib и lua5.1.lib в branches\scite-st\src\scite\lua51\lib
4. Скопировать branches\scite-st\src\scite\win32\scite.mak в scite_vc6.mak и привести соответствующие строчки к виду:

CXXFLAGS=-Zi -TP -W4 -D_CRT_SECURE_NO_DEPRECATE=1 -D_CRT_NONSTDC_NO_DEPRECATE
CCFLAGS=-TC -W4 -D_CRT_SECURE_NO_DEPRECATE=1

CXXNDEBUG=-O1 -MT -DNDEBUG

LDFLAGS=-OPT:NOWIN98 -OPT:REF

5. Выполнить(предполагается что остальные переменные среды установлены) из branches\scite-st\src\ :

set INCLUDE=%INCLUDE%;%~dp0\scite\lua51\include;
set LIB=%LIB%;%~dp0\scite\lua51\lib;
cd scintilla-st\win32
nmake -f scintilla_vc6.mak QUIET=1
cd ..\..
cd scite\win32
nmake -f scite_vc6.mak QUIET=1

6. Кинуть lua5.1.dll и lua51.dll взятые из lua5_1_2_Win32_dll_lib.zip в scite\bin, и запустить scite\bin\SciTE-st.exe.

В принципе тоже самое без изменений можно сделать из VC 2003 без танцев с мэйкфайлами, но ее под рукой нет, а с 2005 - заморочки с манифестом для рантайма - так и не разобрался.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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