Писать редактор кода лучше всего на Паскале. У меня там уже готовый синтаксический анализатор под ассемблер процессора 6502 есть, от него и оттолкнусь поначалу. Процессор у нас маломощный, несмотря на то, что лучший из доступных мне, раскрашивать придется в построчном режиме. Вот как-то так, работа не на дни, а на недели, но хочу-хочу-хочу! Коллеги, я уверен, оценят.
Лучше бы на чистом ассемблере или хотя бы Си, но сишный компилятор еще спиратить нужно. Или… мне поможет чудесное изобретение 80-х – сникернет! Взял телефон и набрал офис Сьерры. Тот, где сидят программеры.
– Привет, Нил, – попал на знакомого, – ты человек общительный – у кого-нибудь имеется компилятор Си под IBM-5150?
– У Блейза есть Лэттис Си, он как раз себе пару месяцев назад купил вместе с компьютером. Ну, Блейз, такой рыжий? Не помнишь его? У него еще младший брат есть, тоже рыжий.
– Приятный такой парень, – не стал я сознаваться, что единственный Блейз, с которым я заочно знаком – один из девяти принцев Амбера.
– Ну да, он. Сиди на попе ровно, тебе занесут дискеты, чтобы переписал. И с компилятором, и с редактором под него.
Сникернет – мне повезет! Пожалуй, если однажды я начну изобретать Гугл, я назову свой поисковик именно так. Хотя не уверен, что мне нужно его придумывать. Брин и Пейдж собирались продаться Яхуу за какие-то смешные деньги. Не за коробку пиццы, но всего за парочку миллионов. У меня к тому времени накопится в активах гораздо больше.
В дверь позвонили буквально через десять секунд. Фигасе сервис! Но вместо пачки дискет Линда, успевшая первой, несмотря на забинтованную ногу, принесла мне яблочный пирог от миссис Ньютон, соседки из дома напротив.
Затем заехала Роберта и привезла турноверы – совершенно незнакомое мне слово в домашней выпечке. Как оказалось, банальные пирожки, но из слоеного теста и с разными начинками, в данном случае – с яблочным джемом. И вот стоило сложное слово для настолько простой штуки выдумывать?
Уж ужин близился, а компилятор в руки мне не шел. Я успел попытаться подсоединить к новенькому компьютеру Корвус и убедиться, что чуда не произошло. Знал ведь, что у Эппл 2 и IBM PC совершенно разные файловые системы. Подтвердились худшие опасения. Даже в рид-онли режиме размеченные под проприетарщину другого производителя виртуальные дискеты читаться не захотели.
Сеанс RTFM подтвердил – я хочу невозможного и файлообменником Корвус способен служить только для одинаковых систем. Ну и зачем этот пепелац без гравицапы мне вообще нужен? Пользуясь инструкцией, создал десяток виртуальных дискет под файловую систему FAT12 и теперь у меня будет куда сохранять свои чудо-наработки, чья возможная архитектура уже крутилась в голове.
И для начала я запилю даже не текстовый редактор, а файловый менеджер. Всё для него есть – Каналья Коммандер, название рабочее, целиком с символьной графикой, ориентируясь на лучшие практики из Тотала, Нортона, Фар Менеджера и Миднайт Коммандера с линуксовых систем. Не то, чтобы он мне требовался для работы, но способен прославить моё имя. Питер Нортон написал кучу утилит, но знаменитым его сделал именно, снова это слово, легендарный NC. Который, что забавно, он только продавал, но не разработал. Выходил еще и антивирус, но там уже совсем чистая торговля именем.
Начнем с дизайна: синий фон, желтые линии. Нестареющая классика, пока что в нашем отсталом таймлайне не родившаяся. Две панели, каждая со своим каталогом. Со своей дискетой, пока файловая система у нас плоская, без поддержки разделения по папкам.
Командная строка внизу, позволяющая напечатать команду, оставаясь в файловом менеджере. Горячие клавиши – как в стандарте из будущего: Таб – переключение активной панели, F1 – помощь, F2 – запуск заранее назначенной команды, F3 – просмотр файла, F4 – редактирование, F5 – копировать, F6 – переместить, F8 – удалить, F10 – выход. Про F7 не забыл, в благословленных Омниссией коммандерах это горячая клавиша для новой папки. Просто зарезервирую ее на будущее или заткну простым действием, вроде создания пустого файла.
Фичи из будущего, какие смог вспомнить. Зажать альт и начать набирать имя для быстрого поиска. Копирование имени текущего файла в командную строку по Ктрл-F, выделение по маске, подсчет размера директории, то есть сейчас – свободного места на дискете. История ввода команд, листаемая стрелочками вверх и вниз! Это киллер-фича – все ненавидят набирать ключевые слова целиком раз за разом. Ничуть не удивлюсь, если в мире Юникса она уже изобретена, но у нас-то ДОС, апогей примитивности. А вот автопродление по нажатию на Таб и в мире юниксоидов наверняка пока еще не изобретено. Оно станет моим ноу-хау.