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

» SciTE - Open Source Text Editor for Windows & Linux

Автор: Sanc4eZ
Дата сообщения: 18.12.2006 06:35

Цитата:
UTF-8 - в меню Файл-> Кодировка есть.
Остальные - юзай xcode - http://www.rusf.ru/books/yo/xcode.html
Кстати, в Ru-сборке вроде он есть.


Да, уже увидел, спасибо.
А как сделать автоопределение кодировки при открытии файла ?
Автор: javaBoard
Дата сообщения: 18.12.2006 20:57
Podskazhite, plz, kak podkliuchit speller ? Ne Word, a kak v UniRed - ISpell.
Автор: mozers
Дата сообщения: 19.12.2006 11:54
Ядро 1.71 .28Ru
EXE + DLL [440kB]
Source [270kB] (только измененные файлы)
Список всех доработок

Цитата:
[WarningMessage] (Автор: VladVRO)
Добавлена возможность настроить отображение предупреждения для информационных событий редактора (warning):
warning.findwrapped.message, warning.notfound.message, warning.wrongfile.message, warning.executeok.message, warning.executeko.message, warning.nootherbookmark.message

Замените секцию в SciTEGlobal.properties:
Код: [Warnings]           Звуковые и текстовые предупреждения (работают только на Windows. Содержат указатели на wav файлы)
if PLAT_WIN
# ФОРМАТ: <мигание окна (0 - не мигает)>,<путь до звукого файла>,<длительность проигрывания (не обязательно)>
#~ warning.findwrapped=1,C:\WINDOWS\Media\chord.wav
#~ warning.notfound=0,C:\WINDOWS\Media\ding.wav
#~ warning.wrongfile=0,C:\WINDOWS\Media\Ir_begin.wav
#~ warning.executeok=0,C:\WINDOWS\Media\ringin.wav
#~ warning.executeko=1,C:\WINDOWS\Media\ringout.wav
#~ warning.nootherbookmark=1,C:\WINDOWS\Media\ir_inter.wav

# Текстовые собщения (Alert), если не определены, то не возникают
# работает только в версии SciTE-Ru (доработка VladVRO)
#~ warning.findwrapped.message=Find wrapped!
warning.notfound.message=Can't find!
warning.wrongfile.message=Wrong file name!
#~ warning.executeok.message=Execute OK!
#~ warning.executeko.message=Execute KO!
warning.nootherbookmark.message=No other bookmarks!
Автор: vladvro
Дата сообщения: 19.12.2006 14:05
Sanc4eZ, mozers

Цитата:

Цитата: А как сделать автоопределение кодировки при открытии файла ?
Скрипт codepage.lua (в сборке) пытается это сделать.
Автор: borodavolga
Дата сообщения: 19.12.2006 19:44
мммлллииияяя..... а что автоматическое сохранение размеров так и не сделали???
или я туплю и не догоняю или мне надо самому это сделать для себя
в чем проблема то?
Автор: javaBoard
Дата сообщения: 19.12.2006 21:08
mozers

Цитата:
А есть скриптовые примеры для подключения этого спеллчикера к другим редакторам?


Нету. Но тот самый ISpell отлично работает не только у всех *них.

1)
http://www.esperanto.mv.ru/UniRed/RUS/index.html
"UniRed может взаимодействовать с программой проверки орфографии ISpell"
2)
http://www.luziusschneider.com/Speller/Deutsch/index.htm
http://www.luziusschneider.com/Speller/ISpCzLiRu.exe
3)
http://www.vim.org/scripts/index.php
тут много интереснова:
http://www.google.com
ISpell site:vim.org
speller site:vim.org

---
ispell --help
Usage: ispell [-dfile | -pfile | -wchars | -Wn | -t | -n | -x | -b | -S | -B | -C | -P | -m
| -Lcontext | -M | -N | -Ttype | -V] file .....
ispell [-dfile] [-wchars] -D
ispell -v

Автор: mozers
Дата сообщения: 19.12.2006 22:45
vladvro
Цитата:
он служит только для смены имени в статусной строке
Тем не менее, при открытии файла UTF-8 показывает в статусной строке, что это - UTF, а не win1251 Понятное дело, что koi-8, win1251, dos866 для него - одна малина - надо алгоритм определения...

borodavolga
Цитата:
а что автоматическое сохранение размеров так и не сделали???
Размеров окна редактора?
Неа. Нейл этого делать не будет, поскольку это противоречит концепции (редактор не сохраняет никаких настроек).
Я пробовал скрипт изобразить на эту тему - не нашел элеганутого способа определения текущих размеров (позиции) окна редактора

javaBoard
Да... Интересный этот ISpell. И прикрутить его к SciTE однозначно можно. Только подумать надо... Особенно с ключами...
Автор: codewarlock1101
Дата сообщения: 20.12.2006 11:22
У-Ж-А-З
Зачем ее цЫклит??

Код:

#file SQL_EXECUTE.LUA:

-- Here: code for preparation
-- ....
scite.MenuCommand('IDM_GO')

#file end



command.parent.72=30
command.name.72.*=SQL Execute
command.72.*=dostring dofile(props["SciteDefaultHome"].."\\tools\\sql_execute.lua")
command.mode.72.*=subsystem:lua,savebefore:no
command.shortcut.72.*=Ctrl+F9


command.go.$(file.patterns.sql)=cmd /c echo "fuck!"

Автор: 0Vovan0
Дата сообщения: 20.12.2006 12:43
Прошу прощения если немного невтему Только учусь програмированью, на c++, пользую Scite + Borland c++ 5.5
Вот такой вот код
[more]#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <iomanip.h>
#define N 3

class vedomost{
char *surn;
char code;
float mark;
int place;
public:
void set(char *a,char b,float c, int d);
void get(char *a,char &b,float &c, int &d);
void show(void);
};

void vedomost::set(char *a,char b,float c, int d){
strcpy(surn,a);
code=b;
mark=c;
place=d;
}

void vedomost::get(char *a,char &b,float &c, int &d){
delete[] a;
a=new char [strlen(surn)+1];
strcpy(a,surn);
b=code;
c=mark;
d=place;
}

void vedomost::show(void){
cout<<surn<<" ";
cout<<code<<" ";
cout<<mark<<" ";
cout<<place<<" ";
}


int main(void){
char *s;
char c;
float m;
int p;
short i;

vedomost obj[N];

clrscr();
cout<<"set \n";
for (i=0; i<N; i++){
cout<<i<<"Surname, Code, Mark, Place: ";
cin>>s;
cin>>c;
cin>>m;
cin>>p;
cout<<"гы\n";
obj[i].set(s,c,m,p);
cout<<"гы2\n";
}
cout<<"show \n";
cout<<"Surname, Code, Mark, Place: \n";
for (i=0; i<=N; i++){
obj[i].show();
cout<<"\n";
}
cout<<"get and show\n";
cout<<"Surname, Code, Mark, Place : \n";
for(i=0; i<=N; i++){
obj[i].get(s,c,m,p);
obj[i].show();
cout<<"\n";
}
getch();
delete[] s;
return 0;
}[/more] вызывает ошибку - компилируется программа нормально, но при выполнении программа допустила недопустимое и будет закрыта, во время втоого прохода цикла, obj[1].set(s,c,m,p);
Мож быть я как-то нетак прикрутил bcc к скайту?, делал все по инструкции на офсайте, с дугими программами проблем небыло, мне кажется что это ошибка в борландовском компиляторе - в Turbo C++ все работает нормально, но пользовать его неудобно и он вылетает постоянно. Или подскажите какой компилятор лучше использовать вместе со Scite, чтобы все нормально работало, и где его скачать?
Автор: vladvro
Дата сообщения: 21.12.2006 12:03
mozers

Цитата:
Тем не менее, при открытии файла UTF-8 показывает в статусной строке, что это - UTF, а не win1251

только в том случае, если редактор сам определил файл как UTF-8, а делает он это только в том случае, если в начале файла стоит спец идентификатор.

codewarlock1101

Цитата:
У-Ж-А-З
Зачем ее цЫклит??

и точно, циклит... занятно... но с ходу не получилось понять почему.
Автор: Shabba
Дата сообщения: 21.12.2006 23:14
Простите за глупый вопрос
Но подскажите пожалуйста как сделать скриптик, который бы брал все выделеные строки и доблял что-нибудь в начало строки и в конец..
Например было:


Код:
строка1
строка2
строка3
Автор: LASC
Дата сообщения: 22.12.2006 02:01
я обычно в таких случаях делаю замену по
\n
на
</p>\n<p>
и включить преобразование бакслеш выражений
Автор: mimir
Дата сообщения: 22.12.2006 10:49

Цитата:

Простите за глупый вопрос
Но подскажите пожалуйста как сделать скриптик, который бы брал все выделеные строки и доблял что-то

Это делаеться через регулярные выражения
типа
заменить ^\([A-Z a-z]*\)$ на <p>\1<\p>.
единственный вопрос как делать поиск по нескольким строкам.


Цитата:
Прошу прощения если немного невтему Только учусь програмированью, на c++, пользую Scite + Borland c++ 5.5
Вот такой вот код


у тебя нет выдиления памяти для vedomost::surn, поэтому и выскакивает AV в windows, а в DOS нет проверки на копирование в нулевую память.
Автор: mozers
Дата сообщения: 23.12.2006 21:06
Ядро 1.71 .29Ru
EXE + DLL [443kB]
Source [322kB] (только измененные файлы)
Список всех доработок

Цитата:
[VarAbbrev] (Автор: VladVRO)
По просьбам пользователей без пощады зарезан функционал символа '|', использующийся в файлах сокращений *.abbrev.
Отныне он означает только позицию курсора. Выделенный текст вставляется только вместо переменной %SEL%.
Восстановить его былую многофункциональность можно с помощью нового параметра в *.properties
abbrev.preserve.selection=1
В этом случае выделенный текст будет размещается вместо последнего символа '|'

Кроме того, добавлена возможность вставлять любую переменную редактора используя конструкцию:
%[имя переменной]%
например добавив сокращение:
fname=%[FileNameExt]%
можно вставлять имя текущего файла

и еще дополнение:
если встречается пара символов %% то вставляется одиночный символ %,
это для того что бы была возможность вставлять в виде текста %SEL% и остальные переменные

Автор: Shabba
Дата сообщения: 23.12.2006 23:38

Код: [C_Word] (Автор: mimir)
Добавлено 3 новых класса ключевых слов для LexCpp (т.е. теперь можно задавать до 4х дополнительных наборов слов с разной подсветкой)
Автор: vladvro
Дата сообщения: 24.12.2006 10:29

Цитата:
Кроме того, добавлена возможность вставлять любую переменную редактора используя конструкцию:
%[имя переменной]%

еще один пример использования:
добавляем в файл настроек:
my.name=Ivan Ivanov
добавляем в файл сокращений:
rema={added by %[my.name]%}
Автор: mozers
Дата сообщения: 24.12.2006 12:22
Shabba
Цитата:
Подскажите пожалуйста как исправить, чтоб нормально файл запускался?
Добавить строчку
Код: command.0.subsystem.$(file.patterns.qwerty)=4
Автор: vladvro
Дата сообщения: 24.12.2006 13:12
mozers

Цитата:
а с динамическими почему то работает через пень-колоду

единственная переменная которая не должна работать - это CurrentSelection, но она и не нужна, для этого есть %SEL%.
остальные должны отрабатывать нормально, а в чем проблема?
Автор: mozers
Дата сообщения: 24.12.2006 13:53
vladvro
Цитата:
остальные должны отрабатывать нормально
Нормально отрабатывают только
Код: FilePath
FileDir
SciteDefaultHome
SciteUserHome
Автор: vladvro
Дата сообщения: 24.12.2006 14:30
mozers

Цитата:
Список неработающих переменных приближается к бесконечности

добавляю сокращение:

Код: vars=FileName = {%[FileName]%}\nFileExt = {%[FileExt]%}\nFileNameExt = {%[FileNameExt]%}\nSessionPath = {%[SessionPath]%}\nCurrentSelection = {%[CurrentSelection]%}\nCurrentWord = {%[CurrentWord]%}\nReplacements = {%[Replacements]%}\nSelectionStartColumn = {%[SelectionStartColumn]%}\nSelectionStartLine = {%[SelectionStartLine]%}\nSelectionEndColumn = {%[SelectionEndColumn]%}\nSelectionEndLine = {%[SelectionEndLine]%}\nLineNumber = {%[LineNumber]%}\nColumnNumber = {%[ColumnNumber]%}\nSelHeight = {%[SelHeight]%}\nSelLength = {%[SelLength]%}\nOverType = {%[OverType]%}\nEOLMode = {%[EOLMode]%}\nfont.current.size = {%[font.current.size]%}\nscite.lexer.name = {%[scite.lexer.name]%}\ncode.page.name = {%[code.page.name]%}\nscite.readonly = {%[scite.readonly]%}\nNbOfLines = {%[NbOfLines]%}\nBufferLength = {%[BufferLength]%}\nFileDate = {%[FileDate]%}\nFileTime = {%[FileTime]%}\n
Автор: mozers
Дата сообщения: 24.12.2006 18:36
vladvro
Все правильно. Еще раз простите торопыгу. Список переменных SciTE которые не работают в abbrev конечен. Вот он весь:
Код: CurrentSelection, CurrentWord, Replacements, SelectionStartColumn, SelectionStartLine, SelectionEndColumn, SelectionEndLine, LineNumber, ColumnNumber, SelHeight, SelLength, OverType, EOLMode, NbOfLines, BufferLength, FileDate, FileTime, FileAttr
Автор: vladvro
Дата сообщения: 25.12.2006 10:27
mozers

Цитата:
Список переменных SciTE которые не работают в abbrev конечен.

согласен.
я тоже поторопился сказав, что можно вставить любую переменную
спасибо за проведенное тестирование.

но список не совсем корректен, например в нем нет CurrentDate, CurrentTime,
с другой стороны все переменные LineNumber, ColumnNumber, SelHeight, SelLength, OverType, EOLMode, NbOfLines, BufferLength, FileDate, FileTime, FileAttr, CurrentDate, CurrentTime - работают только при заполнении строки состояния.
где работает Replacements я чет даже не нашел, мнда, далеко мне еще до полного изучения редактора

таким образом, на мой взгляд, было бы точнее сказать, что список неработающих переменных:
Код: CurrentSelection, CurrentWord, SelectionStartColumn, SelectionStartLine, SelectionEndColumn, SelectionEndLine
Автор: codewarlock1101
Дата сообщения: 25.12.2006 13:00
vladvro
Скажи - в чем удобство и для чего можно использовать

Код:
abbrev.expand.incremental=1
Автор: vladvro
Дата сообщения: 25.12.2006 17:03
codewarlock1101

Цитата:
Скажи - в чем удобство и для чего можно использовать
Код:
abbrev.expand.incremental=1

Полагаю что может пригодиться для медленных машин.
я расскажу историю появления:
возникла у меня идея использовать сокращения для автоматизации перевода часто встречаемых выражений и тут я обнаружил, что в коде редактора зашито ограничение на длину сокращения в 32 символа, я срочно взялся добавлять новый параметр в файл настроек для задания этой длины, пока внедрял его обратил внимание на то, что алгоритм поиска подходящего сокращения сперва берет из текста кусок максимальной длинны, пробегается по списку сокращений на предмет поиска соответсвия, если не находит, уменьшает этот кусок на один символ и снова сравнивает, и так до тех пор пока не найдет соответсвия или не уменьшит кусок текста до нуля.
Ну думаю, этож при ограничении на длину сокращения скажем символов в 100, при большом списке сокращений да еще и на медленных машинах будет тормозить можно же вроде начинать с одного символа, большенство сокращений короткие, будет быстрее находить...
Пока делал оптимизацию, сообразил, что такой алгоритм не всегда корректно отрабатывает , он расчитан на набор сокращений, где не встречается сокращений вида текст_имя_сокращения т.е. где в конце одного сокращения встречается другое. В результате я добавил новый алгоритм как опцию.


Цитата:
В Какой переменной можно задать лексер по умолчанию для созданных документов?

default.file.ext
например у меня стоит:
default.file.ext=.lua

P.S.
кстати я перенес все свои настройки в файл SciTEUser.properties, оставив файл SciTEGlobal.properties таким, каким он идет в сборке, а для удобства работы с ним в скрипте SciTEGlobal_ToggleFold.lua поменял условие на:

Код: if props['FileNameExt'] == 'SciTEGlobal.properties' or props['FileNameExt'] == 'SciTEUser.properties' then ...
Автор: codewarlock1101
Дата сообщения: 25.12.2006 17:26
vladvro
Спасибо!
А случаем не можешь разобраться с зацикливанием, когад из MenuCommand IDM_GO вызываешь!
Автор: vladvro
Дата сообщения: 26.12.2006 09:32
codewarlock1101

Цитата:
А случаем не можешь разобраться с зацикливанием, когад из MenuCommand IDM_GO вызываешь!

причину этого дела я нашел:
запуск задач на выполнение в редакторе организован через очередь, видимо так решено было реализовать возможность собрать код перед запуском. Есть процедура добавления в конец очереди и процедура запуска на выполнение, выполнение всегда начинается с начала очереди.
Исполнение скриптов реализовано через этот же механизм, в результате получаем в начале очереди команду на испольнение нашего скрипта, исполнение которой приводит к очередному запуску на выполнение.

а вот как устранять этот баг пока что идей нет
Автор: codewarlock1101
Дата сообщения: 26.12.2006 10:15
vladvro
как увеличить количество команд?
Автор: vladvro
Дата сообщения: 26.12.2006 12:31
codewarlock1101

Цитата:
как увеличить количество команд?

ты про команды меню? меняешь число в файле SciTEBase.h в строке 488:
    enum { toolMax = 300 }; //!-change-[ToolsMax]

Автор: codewarlock1101
Дата сообщения: 26.12.2006 13:06
vladvro
спасиба
Автор: mazzagavazza
Дата сообщения: 27.12.2006 15:53
а не подскажите нельзя ли чтобы SciTEUser.properties лежал в папочке со scite? ну т.е. чтобы не только лежал, но еще и работали настройки оттуда

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

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


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