up, down, left, right cursor movement
ctrl-up, gray up scroll window up
ctrl-down, gray down scroll window down
alt-up scroll window up (cursor position remains)
alt-down scroll window down (cursor position remains)
shift-f4 scroll window left (step size equal to tab size)
shift-f5 scroll window right (step size equal to tab size)
gray left scroll window left
gray right scroll window right
page up move window one screen up
page down move window one screen down
alt-page up move window N lines up
alt-page down move window N lines down
alt-home move cursor to the start of page
alt-end move cursor to the end of page
ctrl-page up move cursor to the first line
ctrl-page down move cursor to the last line
ctrl-home move cursor to position (1; 1)
ctrl-end move cursor to position (1; line_count)
home move cursor to the first column of line
end move cursor one symbol after end of line
ctrl-left move cursor to the left word
ctrl-right move cursor to the right word
alt-/ synchronize upper-left window corner with cursor
alt-.
enter ;-)
ctrl-z remove all symbols from current column to the end of line
ctrl-t remove right word
ctrl-backspace remove left word
tab insert 1..(N-1) spaces (N defined elsewhere)
shift-tab tab inside-out (backward;-)
delete remove one symbol
ctrl-[ downcase word
ctrl-] upcase word
ctrl-\ capitalize word
backspace ;-)
ctrl-y remove current line
f5 duplicate current line
ctrl-n, ctrl-f5, ctrl-enter insert empty line
insert flip `insert' state
f4 flip `ruler visible' state
ctrl-f4 flip `XXX_ruler' state
alt-a change tab size
alt-l clear `block selected' state
shift-`select' block
+ alt-t, alt-insert `select' word
ctrl-s set block start
ctrl-f set block end
shift-delete copy block to clipboard (cb) and remove it
shift-insert paste cb contents
ctrl-delete remove block
ctrl-insert copy block to cb
ctrl-shift-delete empty cb
ctrl-i indent block (step size equal to tab size)
ctrl-u unindent block (step size equal to tab size)
alt-i indent block
alt-u unindent block
alt-g `goto line' dialog
ctrl-g `goto column' dialog
alt-f8 `enhanced goto' dialog
f6, alt-right next window
shift-f6, alt-left previous window
ctrl-gray digits switch to another window
f7 `search' dialog
ctrl-f7 `search and replace' dialog
shift-f7, ctrl-l repeat last search
alt-f7 repeat last search in reverse direction
f2 write whole text to disk (`save')
shift-f2 `change file name' dialog and then a-la f2
ctrl-f2 send command `save' to all modified editors
alt-f2 send command `save' to all editors
shift-f10 send command `save' to all modified editors and quit
ctrl-w write cb to disk
alt-w write block to disk
f8 calculator
> f12 change calculator mode
alt-f5 show user screen
alt-0, f12 show list of all editors
alt-j ms-dos shell
ctrl-j run gnu `bash'
alt-f10 re-initialize current video mode (132x30, Win95;)
alt-x, f10 quit (exit ;-)
esc quit (optional)
ctrl-gray /,
ctrl-gray *,
ctrl-gray -,
ctrl-gray +,
ctrl-gray enter,
shift-ctrl-gray enter find next `token' (c++, sigma state)
gray enter insert scope begin-end (macro, optional)
+ f9 multiline comments coloring on/off
+ alt-f9 coloring on/off
+ ctrl-f9 status line on/off
shift-f9 about me ;-)
f1 help
+ ctrl-f1, ctrl-shift-f1 context help (c++, gnu info required, sigma state)
среда, 1 июля 2009 г.
Кнопки в МОЁМ редакторе
zed2000 readme
Краткая дока по редактору для системных програмеров ZED
(ревизия 0.02)
1.Введение
2.Лицензия
3.Краткий обзор
4.Как использовать
5.Системные требования
6.Встроенный калькулятор
7.Автор
7.1.По поводу Debian GNU/Linux Zed :)
8.История
9.Планы
10.Прикол
1.Введение
Вам надоел редактор Дос Навигатора? Если да, то читайте дальше ;-).
Идея (редактора) рождалась по мере того, как меня все меньше удовлетворял
процесс набора текста прог на сэ++. Абсолютно охладев ко всем без исключения
порождениям чьей-то скуки, я начал реализовывать новорожденную идею, ни
секунды не сомневаясь, что и сама идея, и ее воплощение меня достанут в
первые несколько дней кодирования. Если вы все еще в силах выносить мой
слог.. и т.п ;-). Ну вот. Втянулся, дело поползло, кажется что-то начало
получаться. Я доволен, а это главное; допускаю, что вкус есть у кого-то еще..
2.Лицензия
Эта копия редактора ZED (далее просто `ZED') пока бесплатная, совсем.
Правда, я кое-что задефайнил (типа парсеров c--, haskell, nasm и
возможности работать с русскими буквами) и отключил оптимизацию кода,
но думаю это не смертельно ;-).
ZED предоставляется "как есть".
Всю ответственность за неприятности, которые (не)могут случиться
при (не)использовании (комбинируйте сами) ZED я, автор, с себя заранее
снимаю и не даю никаких гарантий. Используйте его (ZED) на свой страх
и риск.
Данная лицензия применима и к остальным файлам, входящим в авторский
пакет(архив), содержащий ZED (далее `ZED-архив' (совокупность файлов)),
в той мере, в которой соответствует их внутренней структуре и назначению,
а также когда это обусловлено контекстом.
Условия копирования:
ZED-архив должен распространяться в неизменном виде (все его копии должны
быть пофайлово бит-идентичны (что подразумевает одинаковый размер в
байтах), атрибуты и имена всех файлов архива должны быть по возможности
сохранены (имеется в виду файловая система MS-DOS 6.0), количество файлов
должно быть сохранено)(*). Копирование с машины на машину/внешний носитель
(машина=компьютер=терминал) ZED-архива в любом другом виде запрещено.
Допускается упаковка ZED-архива произвольным архиватором общего назначения
с произвольными настройками, не входящими в противоречие с условиями (*).
Данная лицензия основана на законодательстве республики Беларусь и любое
ее нарушение должно и будет преследоваться через суд.
Автор оставляет за собой право изменения данной лицензии в любое время
без предупреждения кого бы то ни было, подразумевая следующее:
любое изменение лицензии будет иметь силу только на версии/ревизии (в/р)
ZED, большие либо равные той в/р, в которой это изменение
впервые появилось.
P.S. Дизассемблирование/декомпиляция (получение исходного кода на любом
языке и в любом виде) исполнимого файла ZED (ИФ) или любой его части
для последующего анализа, не связанного с отладкой ZED,
запрещена. Что касается отладки run-time (времени выполнения) ИФ любым
отладчиком (дебагером), включая распаковку ИФ (причем полученный при
распаковке исполнимый файл в свою очередь будет являться ИФ, т.о.
подпадая под данную лицензию), если это необходимо,- страдайте сколько
вашей душе угодно ;-).
3.Краткий обзор
Перечислю основные фичи:
спокойная работа во всех текстовых видеорежимах от 80x25 до 132x;
подсветка лексем того языка, на котором набивается текст;
автор, знающий, что такое стиль и стабильность;
длина строки до 64k (хотите +oo? а зачем?);
количество загружаемых файлов пока ограничено (500 без проблем);
размер файла, скажем, не ограничен ;-);
операции с блоками любого размера;
линейка (чем я хуже DN?);
контекстовый хелп (пока только gnu c++);
поддержка LFN (длинных имен файлов) под Win95;
крутой калькулятор;
файл настроек;
"todo.txt" в 20k ;-).
4.Как использовать
Запускаем из командной строки MS-DOS или любого эмулятора MS-DOS
(смотри п.5) и видим некую подсказку ;-). Дальше наверно все очевидно,
но есть нюансы. В DJGPP порте ZED командную строку пре-процессит
таинственный startup code, который автоматически раскрывает маски
(wild cards):
"zed *.*" откроет все файлы в текущем каталоге;
"zed *.[ch]" откроет все сишные исходники там же;
"zed .../*" под Win95 откроет все файлы из текущего каталога
и всех его подкаталогов;
"zed @list.txt" откроет все файлы заданные в списке "list.txt"
(отсюда ограничения на количество загружаемых файлов;
подробности смотри в DJGPP FAQ (http://www.delorie.com/djgpp/).)
5.Системные требования
Минимум: i386 клон, сопроцессор i387, VGA адаптер;
я запускал на 486-133 с отключенными кешами и наблюдал легкие тормоза ;-)
(посмотрел бы я на NasmIDE в таких условиях).
Редактор ZED является приложением MS-DOS 6.0 и должен без проблем
грузиться в любой оболочке, совместимой на низком уровне с этой системой
(Win95/98/NT DOS Box, Linux DOSEmu, etc.). В среде Win95+ ZED
является DPMI клиентом, а не консольным Win32 приложением, поэтому на него
действуют ограничения памяти, выставленные в свойствах того дос-окошка,
из которого он запущен. Однако замечу, что объектный код, полученный
при компиляции исходников ZED компиляторами Watcom или DJGPP, является
32-битовым кодом модели памяти flat и исполняется в защищенном режиме
процессора i386, так что консольное Win32 приложение от ZED отличается
следующим:
формат исполнимого файла на диске;
используемый им Win32 API (ну соотв. параллельный ввод/вывод;-);
protection ring;
некоторые специфические возможности типа dll;
тормоза при выводе на консоль (Far, biew);
что-то еще ;-),
но никак не подавляющей частью кода, которая будет бит-идентична у
приложения, скомпилированного как dpmi-клиент и как Win32 console (e.g.
DJGPP и RSXNTDJ).
(Спрашивается, для кого я все это накатал?)
6.Встроенный калькулятор
7.Автор
ZED is Copyright (c) 2001 Дербеев Александр.
По всем возникшим вопросам обращаться сюда:
gcc@newmail.ru
derbeev@tut.by
zedplace@mail.ru
Alex.Derbeev@p12.f2251.n455.z2.fidonet.org
722844436@p12.f2251.n455.z2.ftn
2:455/2251.12@fidonet
на имя Alex Derbeev, и я сделаю все что от меня зависит :).
Последняя версия редактора всегда доступна на сайте автора
http://geocities.com/gnuprojectbbs/
7.1.По поводу Debian GNU/Linux Zed :)
Невероятно, но фак(т). Наткнулся я на это когда шуршал поисковиками
в поисках моей любимой странички. Название, концепция - те же.
Ну разве что платформа по дефолту другая, плюс различия в деталях.
Я попытался поговорить с тов.Серафини, но все его 6 адресов упорно
сохраняют молчание.
Если кому-то придет в голову (отметьте это "если") спросить у меня,
могу ли я доказать свое авторство, то я отвечу... "могу:)" ("jar ac ...").
8.История
9.Планы
10.Прикол
А теперь все это нужно перевести на английский ;-).
zed2000 todo: earth catastrophic correlation with debian zed
/--- умения -----------------\
желания - намерения - действия -> результат
\--- возможности ------------/
THIRD PARTIES in About !!! (GNU MP, etc.)
----------------------------------------------------------------------------------------------------
ZNSCM10.RAR 34K 18·07·01 Zed's NetSonic Cache Mgr v1.0 for FAR 1.70+
Менеджер кэша для инет-кэшера NetSonic. by Andrej
Zaikin AKA Zed (2:5012/32)
версия в zconfig.h, окно about в zed.cc, copyright[] и author[] там же, readme.ru, file_id.diz
кодировка и формат документации (fido (руН), html)
переписать введение в readme.ru (d&e 3.14)
изменить имена файлов и, возможно, ZED на, скажем, Z :-)
memory leaks
copyrights
clean code
naming convention
comments
upx: .: IOException: not a regular file -- skipped
readme
clean config, preprocessor
options, env. var ZED
----------------------------------------------------------------------------------------------------
ПРОСТОТА И ЭФФЕКТИВНОСТЬ
(CLEANUP & OPTIMIZE)
"удобный,
быстрый(486),
надежный,
стильный,
понятный,
маленький молоток
с красивыми исх. на c++std
(D&E 3.13)"
&
"снять проблему редактирования исходников"
алгоритмы в доке по ZED
почитать в ZED исходники UPX, Biew, etc. (для дизайна внешнего вида текста)
пространства имен (namespace glob) "int x; void f(){int x=0;} {glob::x=0;}"
(для исключения конфликтов, warning выдается кажется в "-pedantic")
[-] 4k in the calculator means 4096 (fix parser)
[-] alt-t
[-] calc: проверить [x];
[-] calc: добавить определение макс. периода
[-] препроцессор конфига (#if, комментарии)
[-] отказоустойчивость загрузки кучи файлов
(уже пробовал >1000, ok, главное чтобы хватало ФИЗ. памяти,
размер transfer buf неважен)
[-] точность кальк. при итеративных вычислениях (s s s s 1 etc.)
[-] "#define __CONFIG"
[-] "__attribute__ ((xxx))" (colour xxx as define, правда "packed"?)
[-] перейти к n-ному редактору
[-] smartpad a-la DN
[-] для многострочных дефайнов изменять только фон
[-] cmtdata & shift-f2
[-] "{ *)" в паскале (делать различие в парсере, или забить? :-))
[-] (L"SysHeader32") другой атрибут для всей строки
[-] "#pragma aux xxx = \" (WATCOM),
"#pragma option push -b" (MS)
"#pragma option pop" (MS)
"#pragma warning(disable:4882)" (MS)
"#pragma warning(default:4882)" (MS)
"#pragma comment(lib, "comctl.lib")" (MS)
"#pragma comment(linker, "/macres:comctl.rsc")" (MS)
"#pragma interface" (GNUG)
"#pragma implementation" (GNUG)
"#pragma save , call(inline=>on)" (TSC)
"#pragma restore" (TSC)
"#pragma set woff 1174" (sgi)
"#pragma GCC system_header"
[-] если с момента запуска/сохранения чередовались действия, не изменяющие [crc] текущей строки,
то файл считать неизмененным (ized)
[-] обновить c-- parser (mtx etc.)
[-] "cannot allocate %u after allocating %u" (ala gcc3)
[-] многострочные дефайны и строковые литералы (и еще что-то многострочное, надо вспомнить (ized -> строки с \ на конце))
(e.g. "#if 0...#else...#endif")
[-] haskell parser: "---}"
[-] вставку блока сделать отказоустойчивой
[-] catch (std::bad_alloc)
[-] забить на OS в вопросе свободной памяти; do it internally
[-] кодировка и формат документации (fido (руН), html)
[-] calc-> в конце длинной строки вызывается история и вводится короткая строка из истории,
курсор остается на прежней позиции
[-] изменять ф-лу (0.04*...) по мере загрузки файла, если не подходит
[-] применять ф-лу только для файлов исходников, для остальных сделать что-нибудь другое
[-] realloc() при удалении строк
[-] save modified files? & перечислить их ("1. one.cc\n2. two.cc\n")
[-] implement system independent {video i/o, file i/o, keyboard}
thru classes with common interface, e.g.
VideoSubSystem *VSS = NULL;
#if defined(__WIN32__)
VSS = new VSS_WIN32(...);
#elif ...
#endif
[-] calc-> смещение в paren checking;
надежность парсинга функций (bug13)
[-] review history implementation
[-] calc->просто "error" и расширенная инфо (option)
[-] проверить расширения (c++, cxx, etc), сверить с rarfiles.lst
[-] save as HTML (STL Newbie Guide,
"ftp://tochna.technion.ac.il/pub/staff/dimka/c++2html/c++2html.shar.gz"
by Dimitry Kloper (dimka@tochna.technion.ac.il)
)
[-] alt-t etc. in input, calc->HL
[-] calc->isprime_()
[-] цветовые схемы перекл. RT, e.g. горизонтальный scroll-bar
[-] menu для действий с win32 cb
[-] mark (non-)ansi "#include <>"
[-] calc->new fns-> double(hex64) / double(hex32, hex32), float(hex32)
[-] string with spaces at end in the input history; maybe " "?
[-] check c++ file ext.
gcc30
draft98
[-] ctrl-t bug/feature
[-] lines in block (statusline)
[-] используемый ассемблер в config
[-] shift-f10 with r/o file ;-(
[-] "X lines was clipped" in status for each file (eg.GNU intermediate ASM)
64k+ internal buf?
[-] startmode & line terminator [config]
[-] display: 0 отличий экрана -- не выводим, 1 -- выводим только это отличие, > 1 -- весь экран
[или по строкам?]
[-] поведение "ed.com" & "vi.exe" при "CursorBeyondEnd=off"
[-] extract default configuration file
[-] HL from qview
[-] online HLL help & ZIP etc. support
[-] "RETRY Y/N" in the critical error handler on Shift-F10 (and ESC to return to editing)
[-] faster ctrl-f7 (FAR)
[-] "pi**3000" under Win95
[-] ScrollLock -- arrows for viewing (like ctrl-up/down)
[-] f7: remove all lines containing found substr (qemm global heap report)
[-] calculate sum of all expressions in block
[-] ascii filter on load & run-time
[-] scan codes rt
[-] optimal fill on #f2 (dj makefiles)
[-] how old am i in days on #f9
[-] "maxViewWidth is 512 now (was 132)"
[-] special chars on f7 to specify start/end of line ("class " -> "class EXPORT " in TV)
[-] my own help format + converters ((w)hlp2zh, info2zh, ihp2zh, etc.:-)
[-] append/prepend block to cb
[-] "c indent" for block
[-] option: specify exact line count in file (loading VERY big files) || limit & delta
[-] detect the style of c braces (for () {} etc)
[-] typeof() for tracing memory leaks (_string etc)
[-] sorting of editor objects by file size etc
[-] multi-file search (f7): file name mask (regular || ala djgpp)
[-] option: skip read-only files
[-] ansi c++ functions highlight (maybe group by header)
[-] home-home (ala aditor)
[-] multiple clipboards (ala boxer)
[-] function list or folding mode like in fed||ida (function/ifdef expanding)
[-] allegro extended text modes info (and test em on some weak video card)
[-] skip directories at start ("zed *")
[-] shift-space: standard macros ("#include <>" etc)
[-] handle shift-* in the readkey();
rebuild with libkb?
[-] honour TZ in
[-] haskell parser :>
[-] prazdniki tipa "happy birthday america"
[-] доделать калькулятор!!!
(исп-ть templates для поддержки mpz_f(class?) или (sin(double), sin(mpz_f)),
короче все возможности c++, stl и тд.
)
[-] option: sync() after (auto)save, use lzo
[-] on CD-ROM all files are r/o!
[-] ctrl-right сначала на первый непробельный символ;
home-home
[-] (dnosp) Hовый Калькyлятоp понимает дpобные числа в разных системах счисления
[-] sqrt("123456") thru mpz_f
[-] class XPtr
[-] исправление и перезапуск _блока_, в котором возникло исключение [crash()]
[-]
[-] ctrl-w/r, ctrl-u/i, ctrl-m (move persist.block to cursor)
[-] cursor thru tabs, backspace unindents
[-] config: delay time
[-] file load: strip control chars,
truncate long lines (?),
ignore 1A and 0,
max line length in config, allocate buffers at run-time
[-] перекодировка, список слов -> run-time запись в файл
[-] mouse, lineika a la DN or Hiew
[-] config: (size, delta) in zed::collection; maybe autodetect?
[-] {} etc. -- find match
[-] ctrl-break -- immediate quit anywhere (debug only?)
[-] везде ли апдейтится флаг modified?
[-] messagebox: key flags (mbOK etc.)
[-] option: preserve file date & time on Save
[-] en->rus vocabulary online :-)
[-] notepad on F-key or so
[-] history in input (отдельный для каждого окошка)
[-] search inside {}, block
[-] upcase etc. thru string
[-] jumps to: labels (^123,@123), block start/end, {}
[-] ascii table ala tshell
[-] scan codes,ascii,grabber run-time
[-] auto-save with compress and password (zip?); UUE;
[-] cpuid
[-] about: skolko mne let run-time ;-)
[-] built-in indent ;-)
[-] паpные скобки, кавычки, пpобел после запятой
[-] cr only files
[-] "kbEnter twice", "kbEnd..." behaviour in dn, bc
[-] f7: ctrl-n -- псевдо-символ конца строки
[-] history сделать как простой редактор
[-] учесть _все_ ассемблеры (ключевые слова, парсер)
[-] подозрительный зависон под вин-95 (лампочка веника горит, веник вертится, клава мертвая, экран нормальный) --
скорее всего из-за get free dpmi memory в цикле
[-] историю сделать как редактор не с одной строкой, причем ограничить передвижение up/down только стрелками;
калькулятор -- тоже что-то в этом роде (или как TR / gwbasic);
[-] hash-поиск в HL (See "chap003.txt" ("look()") etc.);
[-] insert state and ctrl-f7
[-] HL & history in IL (and so in calculator)
[-] *.IDC, *.CFG, *.INI, *.BAT etc.
[-] по кнопке на имени фн (c++) вставляется "#include" если его еще нет
[-] маркеры (с анализом текста?)
[-] alt-0, alt-=
[-] BAK; DSK, CFG autosave
[-] string(char const*,int,int) for ctoken::ReadStr(); ctoken::ReadChar();
AUTOSAVE
[-] status: cur. char, block line count, cur. token & its value (length)
[-] system info
[-] about
[-] shift-del, shift-ins, shift-del ("j.c", dos, Qdpmi) -- глюки с памятью: после второго shift-del становится немного <.
[-] critical error handling ala TV
[-] eg. restart write on "#f2->prn" error
[-] uu-decode block to disk
[-] X-highlight on/off run-time (eg. dox with sources)
[-] SIGFPE from Kasatkin-1
[-] Skljarov p.277+
[-] regex (hll_parser, search, config_parser)
[-] auto-[] DN feature
[-] unlock allocated memory before freeing or track memory allocation in all modules
[-] highlight=off run-time
[-] int 24h ("no space" problem etc.), ctrl-break
[-] fsopen, ftell, fgetpos, fsetpos, rewind
[-] change_name(), write_file_to() [prn, comX]
[-] [WDOSX] INT 31H / AX = EEFFH "DOS Extender Identification Call"
(statusline or system info)
[-] _harderr() -- dont call under Win95; maybe add it to __file.h?
Win95, WDOSX, _harderr() {fail()}
[a:\t] -- load error ((0x53=83)"Fail on INT 24h (critical error) [Permission denied]" (class="Temporary situation (file or record lock)", locus="Block device (disk error)"))
Win95, WDOSX, no _harderr()
[a:\t] -- load error ((0x15=21)"Drive not ready [Permission denied]" (class="Temporary situation (file or record lock)", locus="Unknown or not appropriate"))
DOS, WDOSX, _harderr() {fail()}
[a:\t] -- load error ((0x53=83)"Fail on INT 24h (critical error) [No such file or directory]" (class="unknown class", locus="Unknown or not appropriate"))
DOS, WDOSX, no _harderr()
[a:\t] -- load error ((0x53=83)"Fail on INT 24h (critical error) [No such file or directory]" (class="unknown class", locus="Unknown or not appropriate"))
[-] сохранить все принудительно (например преобразование lf->cr_lf для маски)
[-] маска в cmdline
[-] class zededitor, class video, class keyb etc.
[-] всунуть throw куда только можно
[-] alt-shift-g doesn't works
[-] TT fonts -> text
[-] /**/ однострочные, если /* то не трогать
[-] максимально упростить навигацию по файлу (ala IDA)
[список функций, объявлений классов, etc [по скобкам {}]]
[-] все виды свободной/выделенной памяти в statusline
[-] commandline: *.cc @list --recurse
[-] "kb.inc" from GAZ
[-] WATCOM/GNU/etc. assemblers HL()
[-] "token.cpp"
[-] bug04.cc -- expand tab to XXX spaces: option
[-] f7: key: [word] under cursor
[-] ctrl-shift-L
[-] center page (0 -- vy -- maxy)
[-] 1Ah and 00h problem
'\f' etc.
[-] runtime выбор комментов (; # rem // etc.)
[-] {$IFOPT D+} dbugIntf, dialogs, {$ENDIF}
/**/
[-] fsopen()
[-] int 9 [ctrl-break]
[-] проверить shutdown всех коллекций
[-] flush keyboard after "long processing" (save etc)
[-] разобраться с в[ы]ключением курсора (установить сканлинии уже занято)
[-] "0x" (bad number) -- red
[-] f7 -- whole words, поиск во всех файлах, поиск внутри блока, just_count
[-] выбор типа подсветки run-time (например доки по c++);
[-] f4: edit <-> view
[-] autotab only for HLL
[-] заняться ошибками/исключениями (read/write error, access denied, XXX fault, etc)
[-] File D:\ZED\POLIGON\666.TXT is marked as Read-Only. Modify it anyway?
[-] если f2 обломилось, то так и сказать;
то же самое в crash()
[-] shift-end глючит на обрезанной строке;
куча глюков если макс_длина_строки < maxx (input line too)
[-] менюшка/строка_ввода: подсвечивать строки/комменты(начало коммента[#;rem]) [для undef файла]
[-] hard flush of keyboard in crash()
жму я enter/y/n/esc до посинения и тут вдруг crash() -- кнопка сработала там где я и не подозревал
(может beep(), хотя watcom не любит delay)
wait a sec before key query
ask for another drive if write failed
проверить все случаи выделения памяти и в crash() сделать все во избежание вложенного crash'a
[-] ctrl-c, ctrl-break, exceptions (dos/win95, new/delete, dif. extenders);
signal, int 1b/09 handlers, try/catch;
djgpp ^c/^break handling
[-] присобачить try/catch к zed:: (внутри и снаружи)
[-] set_new_handler использовать на всю катушку
[-] однострочные /**/
[-] functionality from vi (*.hlp), q, dn, ed, bc
[?] on f2 перераспределять память чтобы не было маленьких дырок
[-] подсветка "слова" начинающегося с данной строки (.locallabel, 0xfacc, $f1)
[-] r/o problem
[-] ctrl-backspace;
ctrl-tab;
[-] linebuf->pack() etc. [динамически изменять limit коллекции];
терзают меня сомнения насчет кучи new[]/delete[]...;
[-] alt-стрелки -- скроллинг с сохранением vx/vy (ё1)
[-] ctrl-f5 -- full-screen
[-] regular expressions (f7 etc)
[-] exception handling (ctrl-break, unrecoverable, etc.)
[-] ascii code of char under cursor
[-] alt-up/down[/left/right] -- scroll upwards/downwards ala DN
[-] flush cache after file write (option);
after file load
[-] current text mode (in info?);
possibly VESA support (cmdline\runtime) [132x25 -> 30, 50];
menu with available text modes (80x25, 80x30, 80x43, 80x50[, 132x25, 132x30, 132x43, 132x50 -- obtain info from VESA])
[-] messagebox, inputline,
menu, options dialog
[-] corefree in watcom libs
[-] help;
info window [
system,
total allocated memory via new/strdup/delete [replace with my own ? ],
];
[-] block begin\end,
[-] marker
[-] match {} [] ()
[-] insert date stamp, literal
[-] make screen center (vx, vy remains)
[-] autosave after X text changes, autosave every N min if any modif. (cur.win or all);
maybe autosave packed ? (NRV etc.);
DSK autosave/save (editor sate (cursor, blocks, input line history, macros))
[-] bak file catalog (.\ or user suppl.)
[-] save as,
save all,
change name
[-] blocks (cut, copy, paste, copy to, paste from, clear);
[Win95] clipboard;
screen grabber under alt-f5
[-] find--f7, replace--ctrl-f3/ctrl-f7, again--ctrl-l/ctrl-enter/shift-f7
[fbgni]
[-] file load\save panel
[-] block un\indent, upper\lowercase, sort
[-] wrapping, reformat
[-] ascii table
[-] line drawing
[-] macro,
"{..}" + "begin..end" internal
[-] calculator
[-] config file (JED-like), .macro SAV, file position save
[-] undo
[-] по кнопке на имени фн выдается имя .H файла (а может и вставляется include вначале; даже на фигне типа cout)
[-] хелп по темам (dj, watcom, borl) типа: диск -- функции -- .H файлы
[-] cr/lf, load binary pro text
[-] маркеры с анализом фн где они поставлены, окошко перехода с маркерами и именами этих фн
[-] screen saver
[-] multiple keyboard layouts a la boxer setup
------------------------------------------------------------------------------------------------------------------------------------
[-] zed: djgpp port <=> .info view
[-] zed: modem terminal ;-)
[-] zed: t-mail.ctl etc.
[-] zed: js/perl/awk/java/html/xml/css/new c-- parsers (see mtx)
[-] zed: win95 (cb/task bar)
[-]
>>Есть ли в пpиpоде консольный pедактоp, котоpый бы позволял
>>пpосматpивать и pедактиpовать с пеpеключением между win1251
>>KOI8, DOS866
>Пpоще кодиpовку консоли пеpеключать по ходу дела.
[-] zed: web: демо-каpтинки с nasm/etc hl :)
[-] zed: calc: exa, peta etc. according to results;
"ten billions" etc. (10**10)
[-] zed: пpивести cfg/attr в соотв. с исходниками (atString)
[-] // -*- mode: C++; c-file-style: "mnemonic"; -*-
[-] if coreleft < 2M -> 1999k
[-] zed: --Characters in one logical source line [65536] //draft
[-] zed: f1, video modes, opt, v.blocks, alt-0,i,u, parsers
[-] zed: scr.attrib from FAR (rt.)
[-] zed: mask in cmd.line, save ed.position
[-] zed: multi-file, faster search/replace
[-] zed: scr.saver (FAR alike)
[-] zed: dup, ls functionality; rt.save all web addr., jpegs etc.
[-] zed: "--init=auto,4%" for large files (16M file, 32M memory)
[-] zed: 0/0 under Win95 and xms DOS: cr0-NE == 1 (but under dos4gw ok;-/)
(просто учитывать значение NE: если 1, то избегать деления на 0 etc.)
[-] zed: makefile: call wlib only once like in djtv build
[-] calc: use STL instead of my stack
[-] GNU CC recognizes floating-point numbers written not only in the
usual decimal notation, such as `1.55e1', but also numbers such as
`0x1.fp3' written in hexadecimal format. In that format the `0x' hex
Подписаться на:
Сообщения (Atom)



